学会mma 基本用法
内置函数首字母大写
1 | [] 是所需要计算的内容 |
默认情况下未赋值变量运行后是蓝色,已赋值变量是黑色
等号是 == 而= 是赋值符号
设置工作路径 SetDirectory[NotebookDirectory[]]; SetDirectory[“./DataFiles”];
第一次使用mathematical
mma 尽可能给出准确的结果,例如
In[1]:= 8/3
Out[1]= 8/3
函数N[]计算近似结果
In[5]:= N[8/3]
Out[5]= 2.66667
计算 3a+1 两个数或表达式之间空一格就代表两者相乘
3 a+1
# 等价于3*a+1
多项式展开(a+1)(a-2)
Expand[(a+1)(a-2)]
简单方程求解 $x^2+2x+1=0$
Solve[x^2+2 x+1,x]
自由格式输入,先输入等号提示符,后面内容不需要标准mathematica 语法,用英文表达自己的意思即可,例如,做sin(x)的图像
化sin x 在区间0到10的函数图像
Plot[Sin[x],{x,0,10}]
列表表达式Table
1 | In[3]:= Table[i, {i, 1, 10}] |
Clear 用法,清除全局变量
1 | Clear["Global `*"] |
好了到此为止,大家已经学会了mathematical 基本操作,不错,mma 就回去吃这么人性化,想做什么就做什么
输入输出
自动补签,当我们输入某个命令前几个字母时就会有智能提示,根据提示可以选择我们需要的函数,这种情况适用于对函数具体写法不太清楚的时候,根据智能提示就可以选择正确的写法,例如plo,下面就会有非常多这几个字母开头的函数供选择
普通格式+-*/
数学2D格式,善用esc 键,比如输入pi esc+pi+esc 当然有时候我们并不需要将完整的字母写出来
百分号+数字,表示引用第几次结果,不加数字就是上一个结果,例如
%% %8
双斜线// 函数后缀,里面simplify[] 和//Simplify 是等价的
mma 格式排版,Alt+数字1到7 可以得到不同的文档结构
wolf-mathematica 正式开始
定义变量
定义x=10 计算2的x次方
In[26]:= x = 10;2^x
Out[27]= 1024
判断两个值是否一致
In[28]:= x == 1023
Out[28]= False
加减乘除幂指数括号运算
In[31]:= (Sqrt[2] + 1)^2 (3 - a)/[Pi]
Out[31]= ((1 + Sqrt[2])^2 (3 - a))/[Pi]
创建列表
1 | In[32]:= Table[i^2, {i, 1, 10}] |
自定义函数
简单函数,注意下划线与冒号,当然还有更高级用法,两个下划线与三个下划线,以及默认参数等
1 | In[35]:= f[x_, y_] := x^2 y |
交互式操作
首先画一个sin x 函数图像,并改变其振幅与周期
1 | Manipulate[Plot[A Sin[a x], {x, -5, 5}, PlotRange -> {{-5, 5}, {-5, 5}}], {a, 2, 5, 0.5}, {A, -2, 2, 0.2}] |
改进一下模型,可以自定义函数头 {sin, cos, tan} 以及滑块名称定义,默认值定义
使用帮助很重要
选中需要帮助的函数,按F1 快捷键打开帮助文档
?+ 函数,执行后给出函数帮助信息
2D 3D 绘图
2D 绘图
1 | Plot[{Sin[x], Cos[x]}, {x, 0, 2 \[Pi]}] |
Plot 函数属性分叉之多,例如常用的如下
AspectRatio 1 GoldenRatio 宽高比
Axes True 是否绘制轴
ClippingStyle None 如何绘制曲线被剪切的区域
ColorFunction Automatic 确定曲线颜色的方法
ColorFunctionScaling True 是否缩放 ColorFunction 的变量
PlotLabel None 整个绘图的标签
PlotLabels None 曲线的标签
EvaluationMonitor None
在每次函数计算时,需要计算的表达式 Exclusions Automatic
x 中排除的点 ExclusionsStyle None
排除点的绘制样式 Filling None
每条曲线下填充 FillingStyle Automatic
填充的样式 LabelingSize Automatic maximum size of callouts and labels MaxRecursion Automatic
递归子划分的最大数量 Mesh None
在每条曲线上绘制多少个网格点 MeshFunctions