学习Mathematica(四)——函数与绘图
0.表
表也称为数组,表是储存多个数、变量或算式等对象的一种数据结构,一个表用一对花括号 表示,它的成员(元素)在括号内用逗号隔开,同一表的成员可以有不同的数据类型,表的 成员还可以是一个表(子表)。表的数据类型为 List(表)。
{1.1,1.2,1.3} | 数据表 |
{Sin[x],Cos[x],Exp[x]} | 函数表 |
{x,a,b} | 变量 x 的变化范围 |
{x->1,y->2} | 变量的替换规则 |
{{a1,a2,a3},{b1,b2,b3}} | 2×3 矩阵 |
{a,b,c} | 集合 |
1.函数
mathematica 用=或:=给变量赋值,前者赋值的同时还输出变量的值,后者仅给变量赋值, 而不输出。=称为立即定义运算符,而:=称为延时定义运算符,这样定义的函数不立即输 出函数的表达式,只有在调用函数时,表达式中的自变量 x 才会被[]内的 x_所取代。
x=5 | 给变量 x 赋值 5,如不取消,x 始终为 5 |
x=. | 取消 x 的赋值 |
/.x->3 | 变量替换,3 暂时替换 x 值,只在该语句有效 |
Clear[x] | 消除 x 定义及赋值 |
对于一元函数,定义的格式为:f[x_]=表达式。f 为函数名(也可为其他字母);x 为自变量(也可为其他字母),等号右边的表达式中的自 变量为 x;x_为自变量的形式,可以是数值、符号,甚至表达式等。在运行过程中 mathematica 会首先根据 x 的值计算表达式的值,然后赋值给函数 f。
等号左边括号内无_时,h[x]仅是一个变量,当找不到它的定义时,按原式输出。
欲清除该函数,可以使用如下命令:Clear[f]或 f=.。以上命令仅能删除函数 f 的值,但保留了该名称 f。若要从系统中删除自定义函数 f,可以用 Remove[f]命令完成。使用?f 命令可查询 f 的定义情况。
对于多变量函数,格式:f[x_,y_,…]=表达式
下面定义一个分段函数:
首先,函数赋值必须用:=,其次后面要用/;与区间范围做区分
当然,可以使用if语句,效果相同
2.绘图
使用 mathematica 可绘制的二维图形包括函数图、参数图、极坐标图、等高线图、等密度图等。
mathematica 最基本的绘图命令是 Plot[]命令,其格式: Plot[f,{x,xmin,xmax}]:从 xmin 至 xmax 绘制函数 f 的图形,一条曲线; Plot[{f1,f2,…},{x,xmin,xmax},选项]:在 xmin 至 xmax 的横坐标区间上,按选项的要求绘制 函数 f1,f2,…的函数图形,多条曲线。
虽然仅使用上述默认选项就可以画出图形,但可能希望对坐标、颜色、线型等作出修改,这 些可以通过选择选项中的参数做到。选项的一般格式如下:选项名->选项值:一个选项;{选项名 1->选项值 1,选项名 2->选项值 2,…}:多个选项。
PlotRange | Automatic | 指定作图的纵坐标范围,默认值为切除无穷值点和尖峰。 PlotRange->{下限值,上限值} |
Axes | True | 是否显示坐标轴和原点。默认 True 为显示,设 None 为不显示 |
AxesOrigin | Automatic | 若设 AxesOrigin->{x0,y0},则坐标原点为(x0,y0) |
AxesLabel | None | 设置坐标轴上的标记,默认值为不标记,用{“字符串 1”,“字 符串 2”}的形式定义横轴和纵轴的标记 |
AxesStyle | Automatic | 设置坐标轴颜色和线宽,默认值是黑色实线 |
Frame | False | 图形周围是否加边框。默认不加,选 True 时加边框 |
GridLines | None | 默认值不加网格线,加上网格线,GridLines->Automatic |
BackGround | Automatic | 指定背景颜色 |
Ticks | Automatic | 设置坐标轴上刻度的位置,默认值表示由系统自动定位,None 表示不标刻度 |
PlotLabel | None | 标记图形名称。默认值为不标记,需标记时,用字符串标记 |
PlotStyle | Automatic | 规定函数曲线的线型与颜色,默认值是黑色实线 |
PlotSize | Automatic | 规定点的颜色和大小 |
如果需要将一组数据绘制成图,可用集合的绘图来完成。 格式:ListPlot[{{x1,y1},{x2,y2},…}] 其中,如果 x1,x2,…为自然数,则可以不输入。 该集合还可以定义为数组,则绘图命令的格式为:ListPlot[数组] 数组的点之间还可以连线,格式为:ListPlot[数组,PlotJointed->True]。
如果已绘制好了若干个图形,而想把其中两个或多个图形合并成一个图,可以用 show 命令 完成,其格式如下: Show[图形]:重新显示图形。 Show[图形,选项名->选项值]:按选项值重新绘制图形。 Show[图形 1,图形 2,…图形 n]:将图形 1,图形 2,…,图形 n 放在一起显示。
3曲线拟合及回归分析
曲线拟合的逼近方法是最小二乘法,其目标函数是各点上被逼近函数(原有数据点处的函数 值)与逼近函数(拟合曲线上对应的函数值)之差的平方和,使该平方和最小的拟合曲线即 为所要求的逼近函数。
用 Fit 命令进行线型最小二乘法曲线拟合,格式如下:Fit[数据组,{拟合基函数},x]:在选定的拟合函数类中,求最小二乘意义上与数据组最为 逼近的、以 x 为自变量的拟合函数。拟合函数类型可以是直线、多项式及其他一元函数。
先输入数据,放在 data 中,并用 ListPlot 绘出数据点图,可观察到数据点呈直线关系,故用直线对数据进行拟合:基函数组{1,x}中包括 x 0项和 x 1项共两个基函数,各基函数前面均有待定系数,拟合前用 1 表示,x 0项前必须写出,其余不用。绘出拟合直线的图形,并与数据点图形合并。
学习Mathematica(四)——函数与绘图相关推荐
- python学习笔记(四):函数
一.函数是什么? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过程或子程序),在Pasc ...
- 学习Python中用numpy与matplotlib遇到的一些数学函数与函数的绘图
学习Python中的一些数学函数与函数的绘图 主要用到numpy 与 matplotlib 如果有什么不正确,欢迎指教. 图片不知道怎样批量上传,一个一个怎么感觉很小,请见谅 自行复制拷贝,到vs,j ...
- 零基础带你学习MySQL—数学函数(十四)
零基础带你学习MySQL-数学函数(十四)
- Mysql进阶学习(四)分组函数与分组查询
Mysql进阶学习(四)分组函数与分组查询 一.进阶4:分组函数 1.简单的使用 1.1 SUM 求和 1.2 AVG 求平均值 1.3MIN 最小值 1.4 MAX 最大值 1.5 COUNT求总数 ...
- 【转载】学习Mathematica时最常见的问题
[转载]学习Mathematica时最常见的问题 转载地址: https://tieba.baidu.com/p/2964416898?red_tag=0957170306 二十戒 1 不要为了节约 ...
- 强化学习(四) - 蒙特卡洛方法(Monte Carlo Methods)及实例
强化学习(四) - 蒙特卡洛方法(Monte Carlo Methods)及实例 4. 蒙特卡洛方法 4.1 蒙特卡洛预测 例4.1:Blackjack(21点) 4.2 动作价值的蒙特卡洛估计 4. ...
- matlab 迭代 混沌与分形实验报告,实验四 函数的迭代混沌与分形.doc
实验四 函数的迭代混沌与分形.doc 实验四函数的迭代.混沌与分形实验目的1认识函数的迭代:2了解混沌和分形迭代在数值计算中占有很重要的地位,了解和掌握它是很有必要的本实验将讨论用NEWTON迭代求方 ...
- PostgreSQL学习手册(五) 函数和操作符
PostgreSQL学习手册(五) 函数和操作符 一.逻辑操作符: 常用的逻辑操作符有:AND.OR和NOT.其语义与其它编程语言中的逻辑操作符完全相同. 二.比较操作符: 下面是Po ...
- python函数是一段具有特定功能的语句组_Python学习笔记(五)函数和代码复用
本文将为您描述Python学习笔记(五)函数和代码复用,具体完成步骤: 函数能提高应用的模块性,和代码的重复利用率.在很多高级语言中,都可以使用函数实现多种功能.在之前的学习中,相信你已经知道Pyth ...
最新文章
- 乐高无限无法进入服务器,乐高无限6.13更新 无法进入游戏问题修复
- linux 启动nacos报错_nacos在Linux上的搭建启动报错
- linux日志系统的实现,一个同步日志系统的简单实现 log for c (linux 平台)
- python语言面试基础_【python面试指北】1.语言基础
- 使用ViewPager实现左右循环滑动图片
- iar 堆栈设置_IAR MSP430设置合理堆栈大小(the stack pointer for stack is outside the stack range)...
- C++this指针的用法
- [js] for in 和 for of 的区别?
- Git Flow工作流图
- 【Spark Summit East 2017】使用Spark MLlib和Apache Solr构建实时实体类型识别系统
- Python安装以及简单使用
- Apache的用户认证、域名跳转、Apache的访问日志
- HoloView -- Tabular Datasets
- ARM指令集和X86指令集对比
- android代码禁用软键盘,如何强制禁用软键盘
- 【超详细附参考】阿里云部署spring项目基本流程详解及踩坑经验
- Socket+MFC的聊天室
- Java网课基础笔记(20)19-08-02
- Git版本回退的两种方式_艾孜尔江撰
- 数字化转型再下一城,数字孪生厂商优锘科技宣布完成超3亿元融资
热门文章
- QT(6) of beginer from qter.org
- mysql 实现yyyyww,在java中有YYYYWW格式吗
- linux挂载移动硬盘 格式化_Linux(CentOS)挂载NTFS格式的U盘、移动硬盘
- 百度服务器的操作系统是什么,百度公共dns地址是多少|win7设置百度公共dns步骤...
- 负载均衡(LB)与高可用(HA)的简单概念
- picked up java_tool_options:_解决ubuntu中JDK的Picked up JAVA_TOOL_OPTIONS提示问题。
- 408王道计算机网络强化——传输层和应用层
- 怎样才是理想的程序员
- custom的短语_custom到底是什么意思?
- 计算机英语职业规划,英语专业职业规划