您好,欢迎访问三七文档
当前位置:首页 > 法律文献 > 理论/案例 > Mathematical用法-大全-实用版
MathematicaforWindows用法一、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]=121;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]=E5.求(偏)导数: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}](求级数13sinnnn的和)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.求解线性规划问题:Mincx,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*Pi},{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]:=abc.m(退出后重新进入时,从文件中恢复保存的变量)设置默认工作文件夹:In[1]:=SetDirectory[D:\MODEL]读数据文件:先建立数据文件lianxi.txt,其中的数据用空格分隔。In[1]:=d=ReadList[“lianxi.txt”,Table[Number,{2}]](读到矩阵d中)注:可用“File”菜单中的“Save”命令保存所有的输入和输出。-2-112-0.75-0.5-0.250.250.50.75-202-202-1-0.500.51-202(图1)(图2)四、判断和循环1.判断:If[条件,条件真执行]或If[条件,条件真执行,条件假执行]In[1]:=If[78,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,a5,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,k3,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}];sIn[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[请输
本文标题:Mathematical用法-大全-实用版
链接地址:https://www.777doc.com/doc-5691988 .html