Mathematica入门
初等运算:🔽
基本运算
语句 | 表达 |
---|---|
x+y | x + y x+y x+y |
x-y | x − y x-y x−y |
x/y | x ÷ y x\div y x÷y |
x*y | x × y x\times y x×y |
x^y | x y x^y xy |
Sqrt[x] | x \sqrt{x} x |
计算近似值
(1)表达式//N
(2)N[表达式,n] (保留n位精度)
括号
- ():分组计算,输入算式使用
- []:函数申明变量
- {}:表示集合
- [[]]:表示矩阵或者集合数据
常用函数
语句 | 表达 |
---|---|
Sqrt[x] | x \sqrt{x} x |
Exp[x] | 指数函数 e x e^x ex |
Log[x] | l n x lnx lnx |
Log[a,x] | l o g a x log_ax logax |
Sin[x],Cos[x],Tan[x] | 三角函数 |
ArcSin[x],ArcCos[x] | 反三角函数 |
N! | 阶乘 |
Abs[x] | 绝对值 |
Round[x] | x的整数值 |
Mod[n, m] | 取模运算 |
Random[] | 随机数0-1 |
Max[a,b,c,…] | 最大值 |
Min[a,b,c,…] | 最小值 |
常量表示 表达 pi π \pi π E e e e Degree ( ) ∘ ()^{\circ} ()∘ I i i i Infinity ∞ \infty ∞
自定义函数
- 一元函数:f[x_] := …
- 多元函数:f[x_ , y_ , z_ ] := …
- 注意:
- 名字最好小写避免冲突
- 函数变量在[]内加下划线
- :=连接
利用已经得到的结果
%:最后计算结果
%n:第Out[n]的结果
表达式赋值
赋值方法 | 表达 |
---|---|
x=a | 全局赋值 |
x → \rightarrow → a | 局部赋值 |
- 全局赋值后建议使用 C l e a r [ x ] Clear[x] Clear[x]及时清除
软件绘图
直角方程曲线绘制
-
绘图基本语句
-
单条曲线Plot[f[x],x,a,b]
-
多条曲线
-
Plot[f[x],g[x],x,a,b]
-
g1 = Plot[f[x],x,a,b];
g2 = Plot[g[x],x,a,b];
Show[g1,g2]
-
-
参数方程曲线绘制
-
x[t] = x[t_]:=…
y[t] = y[t_]:=…
-
ParametricPlot[{x[t], y[t]}, {t, a, b}]
parametric 参数的
极坐标方程曲线绘制
- r[t] = r[t_]:=…
- ParametricPlot[{r[t] * Cos[t], r[t] * Sin[t]}, {t, a, b}]
散点图绘制
- pointlist = {{x1,y1}…{xn,yn}};
- ListPolt[pointlist]
Mathematica曲线绘制
- Plot3D[f, {x, xmin,xmax}, {y, ymin, ymax}]
f[x_, y_] := Sin[x^2 + y^2];
Plot3D[f[x, y], {x, -2, 2}, {y, -2, 2}, BoxRatios -> {1, 1, 0.4}]
求解(方程&&微积分)
方程求解
- Solve[方程, 未知量]
- Solve[{方程1,… ,方程n},{未知量1,…,未知量n}]
- FindRoot[方程,{x,a}] //寻找a附近的近似解
极限求解
- Limit[t[x], x->a]
- Limit[t[x], x->Intinity]
求导运算
表示方法 | 表达 |
---|---|
D[f[x], x] | 一元函数求导 |
D[f[x], {x,k}] | 对函数求k阶导 |
D[f[x,y], x] | 对函数求偏导 |
D[f[x,y], {x,2},{y,3}] | 混合偏导数 |
求积分
积分表达方式 | 表达 |
---|---|
Integrate[f[x], x]+C | 不定积分 |
Integrate[f[x], {x,a,b}] | 定积分 |
Integrate[f[x, y], {x,a,b}, {y,c,d}] | 二重积分 |
Integrate[f[x, y, z], {x,a,b}, {y,c,d},{z,e,f}] | 三重积分 |
求和求积运算:🐕
语法表达 | 表示 |
---|---|
Sum[f,{i,imin,imax}] | ∑ i = i m i n i m a x f \sum^{imax}_{i = imin}f ∑i=iminimaxf |
Sum[f,{i,imin,imax,di}] | ∑ i = i m i n , i + = d i i m a x f \sum^{imax}_{i = imin,i+=di}f ∑i=imin,i+=diimaxf |
Sum[f,{i,imin,imax},{j,jmin,jmax}] | ∑ i = i m i n i m a x ∑ j = j m i n j m a x f \sum^{imax}_{i = imin}\sum^{jmax}_{j = jmin}f ∑i=iminimax∑j=jminjmaxf |
Product[f,{i,imin,imax}] | ∏ i = i m i n i m a x f \prod^{imax}_{i = imin}f ∏i=iminimaxf |
求幂级数展开:🐶
-
Series[表达式,{x,n}]
n项幂级数展开
-
Normal[Series]
去掉余项的结果
求微分方程组
- DSlove[方程,y[x],x]
- DSlove[{方程,其他条件},y[x],x]
DSolve[{D[y[x], {x, 2}] - D[y[x], x] == x, y[0] == 0, y'[0] == 0},
y[x], x]
矩阵||表处理
运算
- A = {a1,a2,…,an}
符合集合运算规则时可以运算
. ->点运算用于两个长度相同的向量得到一个数,可理解为向量点乘
生成表
- Range[n]->生成1~n的表
- Range[m,n]->生成[m,n]的表
- Range[m,n,d]->生成[m,n]的表(步长为d)
Table Array
f[n_] := n^3;
Table[f[n], {n, 1, 10}]
Array[f, 10]
(*均返回 {1, 8, 27, 64, 125, 216, 343, 512, 729, 1000}
前者类型为表格,后者类型为数组
*)
列表操作:😙
表分量 | 意义 |
---|---|
t[[-n]] || Part[t,-n] | 倒数第n个元素 |
First[list] | list中的第一个元素 |
Last[list] | list中的最后一个元素 |
列表函数 | 意义 |
---|---|
Length[list] | 返回元素个数 |
Sort[list] | 排序 |
Reverse[list] | 反转元素 |
Union[list] | 去重排序 |
Apply[Plus,list] | 列表元素求和 |
Apply[Times,list] | 列表元素求积 |
矩阵生成
-
直接输入
MatrixForm[{{1, 1}, {1, 1}}] (1 1 1 1)
-
函数生成
f[x_, y_] := x^+y; Table[f[i, j], {i, 3}, {j, 3}] (* 得到{{1, 1, 1}, {2, 4, 8}, {3, 9, 27}} 再次用MatrixForm[%]处理即可获得一个矩阵 *)
-
生成符号矩阵
Array[f,{m,n}]
名称 | 意义 |
---|---|
0矩阵 | Table[0,{m,n}] |
随机矩阵 | Table[Random[],{m,n}] |
上(下)三角矩阵 | Table[If[i<=j,1,0],{i,m},{j,n}] |
单位矩阵 | IdentityMatrix[5] |
IdentityMatrix[5*8] |
矩阵运算
-
转置
Transpose[A]
-
加减乘除不变(与常数操作)
-
A.B
矩阵相乘
-
求解行列式
Det[A]
-
求秩
RowReduce[A]
-
求逆
Inverse[A]
-
特征值
- 求特征值组 Eigenvalues[A]
- 求数字特征值 Eigenvalues[N[A]]
- 特征向量 Eigenvevtors[A]
-
A^n
MatrixPower[A,n]
-
求解矩阵的指数
MatrixExp[A]
-
求解矩阵的迹
Sum[A[[i,i]], {i,n}]
列式
Det[A]
-
求秩
RowReduce[A]
-
求逆
Inverse[A]
-
特征值
- 求特征值组 Eigenvalues[A]
- 求数字特征值 Eigenvalues[N[A]]
- 特征向量 Eigenvevtors[A]
-
A^n
MatrixPower[A,n]
-
求解矩阵的指数
MatrixExp[A]
-
求解矩阵的迹
Sum[A[[i,i]], {i,n}]