|||
一、基本代数运算(Cliff Hastings, 2015: chapter 14)
1. 基本运算
Expand函数:展开表达式。
TrigExpand函数:展开三角函数表达式。
Factor函数:合并表达式。
Together函数:合并分母。
Apart函数:与Together的用途相反,把一个有理表达式改写成具有最小分母的项的和。
Collect[expr, x]函数:把匹配 x 的对象的相同幂的项组合到一起。
Simplify, FullSimplify函数:简化表达式。
2. 解方程
Solve[expr, x]函数:解方程。可以通过ReplaceAll函数(或 /.符号)提取解的具体值。
例如,Solve[x^2+2*x-1==0,x],结果为 $\left\{\left\{x\to -\sqrt{2}-1\right\},\left\{x\to \sqrt{2}-1\right\}\right\}$
而 results = x/.Solve[x^2+2*x-1==0,x] 的结果为 $\left\{-\sqrt{2}-1,\sqrt{2}-1\right\}$ ,这一结果可以用于计算。例如,results*3^(1/3)。
Reduce[expr, vars]函数:某些方程组有无数组解,Solve只能给出其中特定解,而Reduce能得到方程的一般解。通过求解关于 vars 的方程和不等式以及消除量词来约化表达式 expr。
FindRoot[f,{x,x_0}]函数:求解方程组的在 x_0 附近的数值解。
对于方程 Sin[x^2]-Cos[x]==0 上述三个函数返回的 x 的解并不相同。
二、微积分(Cliff Hastings, 2015: chapter 15)
D函数或Dt函数:求微分。例如,D[x^2*Sin[x],{x,3}] 三阶微分。
也能用符号 ' 表示一阶微分,''表示二阶微分。例如,Sin'[x],结果为 Cos[x]。
' 号也能用于自定义函数。例如,f[x_]:=x^3-2*x^2-5*x+6,执行 f'[x] 的结果为 -5-4*x+3*x^2。
能用于个变量的微分。例如,D[x^2*Cos[x*y],x,y]。
也能用于未定义的函数。例如D[x*g[x],x],结果为 g[x]+x*g'[x]。此时,可以使用规则将未定义的函数替换为其他函数。例如,D[g[x^2]*g''[x],x]/.g->Sin,结果为-2 x Cos[x^2] Sin[x] - Cos[x] Sin[x^2]。
Limit函数:求极限。例如,Limit[1/x,x->Infinity]。
求左右极限的选项是 Direction->1 或 Direction->-1。例如,Limit[1/x,x->0,Direction->1]。
给极限设定条件的选项是 Assumption。例如,Limit[x^a,a->Infinity, Assumptions->x>1]。
Integrate函数或NIntegrate函数:求积分,后者为求数值积分。例如,Integrate[x^2+2*x+1,x]。
求定积分:Integrate[x^2+2*x+1,{x,0,1}],或者Integrate[x^2+2*x+1,{x,a, b}]。
求解多个变量的积分:Integrate[x^3+y^2,{x-1,1},{y,-2,x}]。
三、差分方程(Cliff Hastings, 2015: chapter 16)
四、线性代数(Cliff Hastings, 2015: chapter 17)
1. 矩阵操作
(1)生成矩阵
通过Import函数导入矩阵数据:Import["ExampleData/numberdata.csv"]
ConstantArray函数:构建所有元素都相同的矩阵。例如,ConstantArray[10,{4,4]}。
DiagonalMatrix函数:将向量对角化。例如,DiagonalMatrix[{1,2,3,4}]。
ArrayFlatten[{{A,B},{C,D}}]:将A, B, C, D四个nxn方形矩阵组合成一个2n x 2n矩阵,。
IdentityMatrix[n]函数:生成nxn单位矩阵。
Transpose函数:转置矩阵。
Inverse函数:求逆矩阵。
SparseArray[{pos1->val1, pos2->val2, …}] 函数:生成一个稀疏数组,posi 处的值为 vali。
从Excel中直接复制数据到Mathematica,见下图(来源):
(2)提取矩阵元素
Diagonal函数:提取矩阵的对角元素。
通过Part函数或 [[ ]] 符号提取矩阵元素:Part[{1,2,3},1],或{1,2,3}[[1]]。
通过Span函数或 ;; 符号选取连续元素:Part[{1,2,3},2;;3],或{1,2,3}[[2;;3]]
通过Take函数提取矩阵的前几行或几列:Take[list, All, 2] 提取前两列;Take[list, 2, All] 提取前两行。
(3)给出矩阵特性
Dimensions[expr]函数:找出expr的维度,也就是矩阵的行数和列数。
Norm函数:给出一个数字、向量或矩阵的模(范数)。
Det函数:给出方阵的行列式。
RowReduce函数:给出矩阵的行约化形式。
Eigenvalues函数:给出方阵 m 的特征值构成的列表。
Eigenvectors函数:给出矩阵 m 的特征向量列表.。
Eigensystem函数:给出方阵的特征值和特征向量构成的列表 {values,vectors}。
(4)显示
MatrixForm函数:将矩阵显示为行列式形式。注意:在给变量赋值时不要使用 MatrixForm 函数,否则出错。
2. 矩阵间的运算
Dot函数或 “."符号:进行矩阵乘法:Dot[A,B] or A.B。
Times函数或"*"符号:将矩阵对应元素相乘:A*B。
Cross[a,b]函数:计算a与b的向量叉积。
LinearSolve[m,b]函数:求解矩阵方程 m.x==b的x。注意,Solve也可以用于求解对应的方程组,但是需要明确写出各个变量的名称。
3. 其他
AbsoluteTiming函数:返回求解用时。
MatrixPlot函数:矩阵画图。
(未完待续)
参考文献
Crista Arangala, 2015. Exploring Linear Algebra: Labs and Projects with Mathematica. Boca Raton, FL: CRC Press.
Cliff Hastings, Kelvin Mischo, Michael Morrison, 2015. Hands-on Start to Wolfram Mathematica and Programming with the Wolfram Language. Champaign, IL: Wolfram Media, Inc.
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-3-28 18:54
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社