Mathematica使用介绍(一)

笔者从大一开学接触mathematica软件至今已经要一年了,这一年中不少的小项目都用到了这门工于科学计算的软件,笔者将结合这一年的一些mathematica的小程序和教材达到个人的复习的要求,话不多说,开始吧:

0.键盘保持英文键盘,函数的首字母记得大写

1.数值与算术计算,会用键盘完成一系列的加减乘除乘方开根号对数运算,保留有效数字,了解常用关键字(如Pi,E)

2.代数运算:

(*代数运算范式*)
分解因式Factor[x^2+3x+2]
展开因式Expand[(x+1)(x+3)(x+8)]
通分Together[1/(x+3)+1/(2x+5)(x^2+8)]
拆分Apart[(8+3x)/(x+2)(x+3)]
化简Simplify[(1+x)(2+x)+(x+1)(x+8)]

3.函数运算:

一、已有的功能函数:Sqrt,Exp,Log[a,x],Log[x],Sin[x],Sinh[x],ArcSin[x],Round[x](四舍五入取整数),Floor[x],Mod[m,n](求m/n的模),Abs[x],n!,Sign[x],N[x,n]取近似n位值,n缺省则为6位

二、自定义函数模块

(*pascal的风格,赋值用:=*)
一元函数f[x_]:=函数表达式
多元函数f[x_,y_,z_...]:=函数表达式
Clear[f] 清楚对原先f的赋值

eg.
f[x_]:=x^2+x
Clear[f]
f[x_]:=x^4;
f[2]
(*用;分开是表示此行语句的输出结果不在屏幕上显示*)

消除对x的赋值可以用Clear[x]

三、解方程:

一些范式:
Solve[eqns,vars]:求关于var s的全部解
NSolve[eqns,vars]:求代数方程(组)的全部数值解
FindRoot[eqns,{x,x0},{y,y0},...]表示从点(x0,y0...)出发找方程(组)的近似解
Eliminate[eqns,elims]:从一组等式中消去变量(组)elims (在数学建模的时候非常有用)

最常见的解方程代码:
Clear[x];
Solve[x^2+3x+2==0,x]
Solve[{ax+by==0,cx+dy==1},{x,y}]
Solve[Sqrt[x-1]+Sqrt[x-2]==a,x]

然而,有一些方程式根本求不出准确解的,因此需要转化成求近似解,主要有两种:
NSolve和FindRoot方法

四、一些操作:

比如你想调用plot的时候,却不知道plot怎么用的时候,可以输入?Plot,并按shift'+entre执行,获取函数的定义与使用范式。

输入?Plot*获取Plot开头的函数。

Esc+intt+Esc获得积分符号;Esc+sumt+Esc获得累加符号;

x + ctrl +_+2获取x2,下标为2的token。ctrl+/获取横分数线。

五、矩阵与表

表基本没用,用的时候我再查工具书,我们着重研究Mathematica关于矩阵的运算。

矩阵的表示和二维数组的表示很相像,比如我们用:
{{1,2,3},{1,3,2,},{3,2,1}}可以表示一个3*3的矩阵
Identity[整数n]生成一个单位矩阵
DiagonalMatrix[表],生成一个对角矩阵
MatrixForm[矩阵]输出成矩阵的形状
Inverse[矩阵]矩阵求逆
Det[矩阵]矩阵求行列式
Eigenvalues[矩阵]求矩阵特征值
Eigenvectors[矩阵]求矩阵特征向量

六、之后几天就用来咕咕咕,这些坑就先搁置了,咕咕咕

你可能感兴趣的:(数学基础,算法)