Mathematical用法 大全 实用版

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Mathematica for Windows 用法

一、Mathematica 的主要功能

Mathematica 是美国Wolfram 公司开发的一个功能强大的计算机数学系统,提供了范围广泛的数学计算功能,主要包括三个方面:符号演算、数值计算、图形。例如:多项式的四则运算、展开、因式分解,有理式的各种计算,有理方程、超越方程的解,向量和矩阵的各种计算,求极限、导数、极值、不定积分、定积分、幂级数展开式,求解微分方程,作一元、二元函数的图形等等。 二、Mathematica 的基本知识 1.输入表达式:直接输入一个表达式(包括算式和命令,长表达式用“Enter ”换行)后,按“Shift+Enter ”执行,执行后以“Out[命令序号]= ……”形式输出执行结果,输出的结果可在后续的表达式中使用。

若命令后有分号,则不输出执行结果(图形输出与Print 命令除外)。 “%”表示上一个输出,“%%”表示倒数第2个输出,“%i”表示第i个

命令的输出。

2.运算符:+、-、*、/、^ ,“*”可用空格代替,“^”表示乘方。

如:In[1]:=2^10,输出为“Out[1]= 1024”,其中“In[1]:=”不需要输入。

In[2]:=3+5,Out[2]= 8;In[3]:=%-2,Out[3]= 6;

In[4]:=%2+4,Out[4]= 12;

In[5]:=1/3-1/4,Out[5]=12

1

;In[6]:=N[%],Out[6]= 0.0833333; In[7]:=N[%5+12,10],Out[7]= 12.08333333(注意字母的大小写) 3.变量赋值:变量=表达式,“x=.”或Clear[x] 表示清除对x 的赋值。 表达式/.t ->c ,将表达式中的t 全替换成c 。?x ,查x 信息。 4.常用的数学常数:Pi (π)、E(e)、Infinity (∞)、I (1-)

5.常用的数学函数:Abs, Sin, Cos, Tan, Cot, ArcSin, Log (自然对数), Sqrt, Exp 如:In[1]:=Sqrt[2]+1;In[2]:=Sin[2]+ArcSin[1];In[3]:=Exp[2]+% (自变量用[ ]括,区分大小写,首字母大写) 三、常用运算 1.多项式运算:In[1]:= (2+4*x^2)*(1-x)^3 或 In[1]:= t = (2+4*x^2)*(1-x)^3 (将右端表达式赋值给t ); In[2]:=a=t/.x->4 (计算表达式t 当x=4时的值,并赋值给变量a ) In[3]:=a=. (清除变量a ) In[3]:=Expand[t](展开);In[4]:=Factor[%](把上一个结果因式分解) 2.解方程:In[1]:=Solve[x^2+3*x = = 2];In[2]:=N[%]; In[3]:=Solve[a*x-b= = 0, x]; In[4]:=NSolve[{x-2*y= =0,x^2-y= =1},{x,y}](解方程组并得到数值解) 3.自定义函数:In[1]:= f [x_ ]:=x^2+2*x ; In[2]:=f[5]+7; In[3]:=f[a+b] 4.求极限:In[1]:=Limit[Sin[x]/x, x ->0]; In[2]:=Limit[(1+1/n)^n, n->Infinity],Out[2]=E 5.求(偏)导数:In[1]:=D[a*x^2+3, x];In[2]:=D[x^2+y^3-Sin[2*y], y](对y 的偏导数); In[3]:=D[Log[x], {x,2}] (求对x 的二阶导数); In[4]:=D[Sin[x+y]*Exp[z*y^2],x,y] (求对x 、y 的二阶混合偏导数); In[5]:=Simplify[%] (对前一结果化简); In[6]:=D[Sin[x+y]*Exp[z*y^2],{x,2},{y,3}] 6.求不定积分:In[1]:=Integrate[x^2,x];In[2]:=Integrate[1/(x^2+a^2),x] 7.定积分:In[1]:=Integrate[x^2, {x,0,1}];In[2]:=Integrate[x^2,{x,a,b}]; In[3]:=Integrate[x^2+y^2, {x,0,a},{y,0,b}];(求矩形域上的二重积分) In[4]:=Integrate[1, {x,-1,1},{y,-Sqrt[1-x^2],Sqrt[1-x^2]}];Out[4]=Pi (圆面积) 8.幂级数展开:In[1]:=Series[Exp[x],{x,0,4}](在x=0处展开到x 的四次幂) 9.矩阵的输入和输出:In[1]:= a ={{1,2},{3,4}}(定义一个2x2的矩阵a ,按

行写);

In[2]:=MatrixForm[a](输出为矩阵形式);In[3]:=Transpose[a](a 的转置); In[4]:=a[[2]](a 的第2行);In[5]:=Tanspose[a][[2]](a 的第2列); In[6]:=Inverse[a](求a 的逆矩阵);In[7]:=Det[a](矩阵的行列式); In[8]:=Eigenvalues[a](求特征值);In[9]:=Eigenvectors[a](求特征向量); In[10]:=RowReduce[a](把a 化为阶梯形,可用于求矩阵的秩、判断线性相关性); In[11]:= b ={{5,6,7},{8,9,10}};In[12]:= a .b (矩阵a 与b 的乘积) 10.解线性方程组:

In[1]:= a ={{3,4,5,6},{6,8,10,12},{4,5,6,7},{5,6,7,8}};(a 的秩为2) In[2]:= b ={1,2,3,5}(列向量);(增广矩阵的秩也为2) In[3]:=LinearSolve[a,b](求线性方程组ax=b 的一个特解); In[4]:=NullSpace[a](求线性方程组ax=0的一个基础解系);

In[5]:= x =k1%4[[1]]+k2%4[[2]]+%3(ax=b 的全部解,k1、k2为任意常数)

11.求和:In[1]:=NSum[Sin[n]/n^3,{n,1,Infinity}](求级数∑

∞=13sin n n

n 的和)

12.求极小值:In[1]:=FindMinimum[Sin[x]*Cos[x],{x,0.5}](求函数在0.5附

近的极小值);

In[2]:=FindMinimum[Sin[x*y]*Exp[x^2],{x,0.2}, {y,0.3}](求多元函数极小值) 13.求解线性规划问题:Min cx ,mx ≥b ,x ≥0,求向量x 。 In[1]:= c ={2,-3}(列向量);In[2]:= m ={{-1,-1},{1,-1},{1,0}}; In[3]:= b ={-10,2,1}; In[4]:=LinearProgramming[c,m,b]

14.数据拟合:In[1]:= d ={{1,2.18},{1.2,2.56},{1.6,3.0},{1.8,2.66}}; In[2]:= f =Fit[d,{1, x, x^2}, x](求和上面4个点吻合最好的二次多项式f ); 检验效果:In[3]:=ListPlot[d](画d 中4个点的图); In[4]:=Plot[f,{x,0.8,2.0}](画多项式f 在x 从0.8到2.0之间的图); In[5]:=Show[%3, %4](把上面两个图画在一起) 注:函数集{1, x, x^2}可以是更高次的或其它函数集,如三角函数集等。

15.一元函数作图:In[1]:=Plot[Exp[-x^2]*Sin[6*x],{x,-2,2}](如图1) 参数方程作图:In[2]:=ParametricPlot[{Sin[t]^3,Cos[t]^3},{t,0,2*Pi}] 16.二元函数作图:In[1]:=Plot3D[Sin[x*y],{x,-Pi, Pi},{y,-Pi, Pi}];(如图2) In[2]:=Plot3D[Sin[x*y],{x,-Pi, Pi},{y,-Pi, Pi},PlotPoints->40, ViewPoint->{2,-3,2}]

In[3]:=ParametricPlot3D[{Cos[u]*Cos[v],Sin[u]*Cos[v],Sin[v]},{u,0,2*P

i},{v,-Pi/2,Pi/2}] 17.数据画图:In[1]:= d ={{1,2},{3,4},{7,6}};In[2]:=ListPlot[d]; In[3]:=ListPlot[d, PlotStyle->{RGBColor[1,0,0], PointSize[0.02]}](红色

的大点);

或直接用 In[4]:=ListPlot[{1,2},{3,4},{7,6}] 代替“In[2]:=”。 18.作图范围:In[1]:=Plot[x-x^3/6,{x,-4,4}]; In[2]:=Plot[x-x^3/6,{x,-4,4},PlotRange->{-5,2}](限定纵坐标(函数值)范围)

19.图形组合:In[1]:=Plot[{Sin[x],Cos[x]},{x,0,2*Pi}];或

In[2]:= g1=Plot[Sin[x],{x,0,2*Pi}, PlotStyle->{RGBColor[1,0,0]}]; In[3]:= g2=Plot[Cos[x],{x,0,2*Pi}, PlotStyle->{RGBColor[0,0,1]}]; In[4]:=Show[g1,g2](把g1、g2画在一起) 20.文件的使用:In[1]:= y =25;In[2]:= a ={{1,4},{2,6}};In[3]:= f [x_ ]:=x^2 ; In[4]:= g =Plot[Sin[x],{x,0,2*Pi}, PlotStyle->{RGBColor[1,0,0]}];

In[5]:=Save[“abc .m”,a,y,f,g](将a, y, f, g 保存在文件“abc .m ”中,扩

展名为m ); In[6]:=!!abc .m (显示文件内容);

In[1]:=<

设置默认工作文件夹:In[1]:=SetDirectory["D:\MODEL"]

读数据文件:先建立数据文件lianxi.txt ,其中的数据用空格分隔。

In[1]:=d=ReadList[“lianxi.txt ”,Table[Number,{2}]] (读到矩阵d 中)

注:可用“File ”菜单中的“Save ”命令保存所有的输入和输出。

(图1) (图2) 四、判断和循环

1.判断:If[条件,条件真执行] 或 If[条件,条件真执行,条件假执行]

In[1]:=If[7>8,3,4];In[2]:=x=10; In[3]:=y=20;In[4]:=If[x==y,a,b]

2. 循环:(1) For[初值,条件,增量表达式,循环体]

先赋初值,再判断条件,条件为真时执行循环体,最后计算增量,再判断条件。

In[1]:=For[a=1, a<5, a=a+1, Print[a]]

In[2]:=For[k=1;s=0;t=1, k<=10, k=k+1, s=s+k ;t=t*k] In[3]:=Print[“s=”,s , “\n ”, “t=”,t ]

In[4]:=For[k=1, k<3, k=k+1, Plot[Sin[x],{x,k,2*Pi+k}]] (2) Do[循环体,{循环变量,起始值,终止值,步长}] In[1]:=s=0;Do[s=s+i,{i,1,100,1}];s

In[2]:=Do[p[i]=Plot[Sin[i*x],{x,0,Pi}],{i,1,2}] In[3]:=Show[p[1],p[2]] 五、一个编程例子

=====================================================

(* 这是一个例题 每行后按回车键 用半角标点符号*) Print["请回答3个题目"] For[i=1,i<=3,i=i+1,

a=Random[Integer,{1,100}]; b=Random[Integer,{1,100}];

Print["第(",i,")题 ",a,"+",b,"=?"]; c=Input["请输入计算结果"]; If[c==a+b,

Print[" 对了!"],

Print[" 错,应为 ",a+b] ]

];

Print["没有题目了。"]

====================================================== 六、编程练习:从数据文件中读出5组身高与体重数据(ReadList ),(1) 画出散点图(ListPlot );(2) 用Fit 求出拟合直线;(3) 用回归公式求出回归直线; (4) 画出回归直线的图形(Plot );(5) 将回归直线和散点图画在一起(Show )。 注:数据文件内容为 1.54 48 1.6 55 1.65 60 1.71 62 1.74 70

相关文档
最新文档