mathematica最常用的方法一览Word下载.docx
《mathematica最常用的方法一览Word下载.docx》由会员分享,可在线阅读,更多相关《mathematica最常用的方法一览Word下载.docx(16页珍藏版)》请在冰豆网上搜索。
![mathematica最常用的方法一览Word下载.docx](https://file1.bdocx.com/fileroot1/2023-1/24/424a37d3-d221-43d4-ae95-0ba819da3fa7/424a37d3-d221-43d4-ae95-0ba819da3fa71.gif)
求导:
In3:
=DSinx6,x常用的命令常用的命令Expandploy按幂次展开多项式ployExpandAllploy全部展开多项式ployFactorploy对多项式poly进行因式分解FactorTermsploy,x,y,按变量x,y,进行分解Simplifypoly把多项式化为最简形式FullSimplifyploy把多项式化简Collectpoly,x把多项式poly按x幂展开Collectpoly,x,y把多项式poly按x,y.的幂次展开微分方程的求解微分方程的求解微分方程解在Mathematica中使用DSolve可以求解线性和非线性微分方程,以及联立的微分方程组。
在没有给定方程的初值条件下,我们所得到的解包括C1,C2是待定系数。
求解微分方程就是寻找未知的函数的表达式,在Mathematica中,方程中未知函数用yx表示,其微分用yx,yx等表示。
下面给出微分方程(组)的求解函数:
DSolveeqn,yx,x求解微分方程函数yxDSolveeqn,y,x求解微分方程函数yDSolveeqn1,eqn2,y1,y2,.,x求解微分方程组1用Dsolve求解微分方程yxIn1:
=DSolveyx=2yx,yx,xOut1=yxe2xC1In2:
=DSolveyx+2yx+1=0,yx,xOut2=yx+e-2xC1In3:
=DSolveyx+2yx+yx=0,yx,xOut3=yxe-xC1+e-xxC2解yx仅适合其本身,并不适合于yx的其它形式,如yx,y0等,也就是说yx不是函数,例如我们如果有如下操作,yx,y0并没有发生变化:
In4:
=yx+y0+yx/.%Out4=e-xC1+e-xxC2+y0+yx2解的纯函数形式使用DSolve命令可以给出解的纯函数形式,即y,请分析下面的例子:
In5:
=DSolveyx=2yx,y,xOut5=yFunctionx,e2xC1In6:
=DSolveyx+2yx+1=0,y,xOut6=yFunctionx,+e-2xC1In7:
=DSolveyx+2yx+yx=0,y,xOut7=yFunctionx,e-xC1+e-xxC2这里y适合y的所有情况下面的例子可以说明这一点In8:
=yx+yx+y0/.%Out8=C1+e-xC2在标准数学表达式中,直接引入亚变量表示函数自变量,用此方法可以生成微分方程的解。
如果需要的只是解的符号形式,引入这样来变量很方便。
然而,如果想在其他的的计算中使用该结果,那么最好使用不带亚变量的纯函数形式的结果。
3求微分方程组请分析下面的例子In9:
=DSolveyx=-zx,zx=-yx,yx,zx,xOut9=zxe-x(1+e2x)C1-e-x(-1+e2x)C2,yxe-x(-1+e2x)C1+e-x(1+e2x)C2当然微分方程组也有纯函数形式:
In10:
=DSolveyx=-zx,zx=-yx,y,z,xOut10=zFunctionx,e-x(1+e2x)C1-e-x(-1+e2x)C2,yFunctionx,e-x(-1+e2x)C1+e-x(1+e2x)C24带初始条件的微分方程的解当给定一个微分方程的初始条件可以确定一个待定系数。
请看下面的例子In11:
=DSolveyx=yx,y0=5,yx,xOut11=yx5exIn12:
=DSolveyx=yx,y0=0,yx,xOut12=yxe-x(1+e2x)C2由于给出一个初始条件所以只能确定C1傅里叶变换傅里叶变换傅里叶逆变换:
傅里叶正弦变换:
傅里叶余弦变换:
拉普拉斯变换:
Z变换Z傅里叶级数:
正弦级数:
图像:
余弦级数:
方程求根【或者不等式的解集】方程求根【或者不等式的解集】例如用Rootslhs=rhs,vars求方程x2-3x+2=0的根显示为:
=Rootsx2-3x+3=0,xOut1=x=1|x=2这种表示形式说明x取1或2均可而用Solvelhs=rhs,vars可得解集形式:
In2:
=Solvex2-3x+3=0,xOut2=x1,x2例如求x3+5x+3=0In4:
=Solvex3+5x+3=0,x这时可用N函数近似数值解:
=N%Out5=x-0.5641,x0.28205-2.28881i,x0.28205+2.28881i求方程组的根求方程组的根使用Solve,NSolve和FindRoot也可求方程组的解,只是使用时格式略有不同,下面给出一个Solve函数的例子:
求解In10:
=Slove2*x+3*y=9,x-2*y=1,x,yOut10=x3,y13求方程的全解如果我们求ax2+bx+c=0的根,我们用Solve函数解的结果是:
In11:
=Solvea*x2+b*x+c=0,xOut11=x,x这显然是不合理的,因为对不同的a,b,c方程的解有不同的情况,而上面只是给出部分解如果要解决这个问题可用Reduce命令,它可根据a,b,c的取值给出全部值。
In12:
=Reducea*x2+b*x+c=0,xOut12=a0&
(x=|x=|a=0&
b0&
x=|c=0&
b=0&
a=0因此Solve,Roots只给出方程的一般解,而Reduce函数数可以给出方程的全部可能解。
编程编程略说略说7.4流程控制函数程序结构的流程控制一般来说比较简单,但是在应用While或For等循环时就比较复杂了,这是因为他们的流程控制依赖于表达式的值。
而且在这样的循环中,流程的控制并不依赖于循环体中表达式的值。
有时你在编制Mathematica程序时,在该程序中,流程控制受某一过程或循环体执行结果的影响。
这时,我们可用Mathematica提供的流程控制函数来控制流程。
这些函数的工作过程与C语言中的很相似。
常用的流程控制函数:
Break退出本层的循环Continue转入当前循环的下一步Returnexpr退出函数中的所有过程及循环,并返回expr值Gotoname转入当前过程中的元素LabelnameThrowvalue返回expr值当t20时,Break就引起循环体的中断:
=t=1;
Dot*=k;
Printt;
Ift20,Break,k,1012624基本的二维图形基本的二维图形Mathematica在直角坐标系中作一元函数图形用下列基本命令:
Plotf,x,xmin,xmax,option-value在指定区间上按选项定义值画出函数在直角坐标系中的图形Plotf1,f2,f3,x,xmin,xmax,option-value二维参数作图二维参数作图前面我们使用Plot命令可以绘出直角坐标系下的函数图形,使用ParametrecPlot可以绘制参数曲线下面给出ParametricPlot的常用形式:
ParametricPlotfx,fy,t,tmin,tmax绘出参数图ParametricPlotfx,fy,gx,gy,.t,tmin,tmax绘出一组参数图ParametricPlotfx,fy,t,tmin,tmax,AspectRatio-Automatic设法保持曲线的形
(1)绘制参数方程的图形In1:
=ParametricPlotSin3tCost,Sin3tSint,t,0,2PiOut1=-Graphics-图形的样式图形的样式我们称图形的颜色、曲线的形状和宽度等特性为图形样式。
在本节中,我们就图形的各种样式,尤其是曲线的样式进行学习。
下面给出选项用于设置图形样式:
Graykvel灰度介于0(黑)到l(白)之间-0.75-0.5-0.250.250.50.75-1-0.75-0.5-0.250.250.5RGBColorr,g,b由红、绿,蓝组成的颜色,每种色彩取0到1之间的数HueA取0到1之间的色彩Hueh,s,b指定色调,位置和亮度的颜色,每项介于0到1之间PointSized给出半径为d的点,单位是Plot的一个分数AbsolutePointSized给出半径为d的点(以绝对单位量取)Thicknessw给所有线的宽度w,单位是Plot的分数AbsoluteThicknessw给所有线的宽度w,(以绝对单位量取)Dashingwl,w2,.给所有线为一系列虚线,虚线段的长度为wl,w2,Absolutedashingw1,w2,.以绝对单位给出虚线长度PlotStyle-style设立Plot中所有曲线的风格PlotStyle-Style1,Style2.设立Plot中一些列曲线的风格MeshStyle-Style设立宽度和表面网格的风格图形颜色的设置图形颜色的设置在Mathematicaa提供各种图形指令中,对图形元素颜色的设置是一个很重要的设置.。
下面给出三条不同颜色的正弦曲线,此处以灰度表示,即颜色深浅不同。
=PlotSinx,Sin2x,Sin3x,x,0,2Pi,PlotStyle-RGBColor0.9,0,0,RGBColor0,0.9,0,RGBColor0,0,0.9Out1=-Graphics-下面用不同的色调对三个菱形进行着色。
=v1=-1,0,0,-1,1,0,0,1;
ShowGraphicsHue0.1,Polygon3*v1,Hue0.8,Polygon2*v1,Hue0.2,Polygonv1,AspectRatio-Automatic123456-1-0.50.51Out2=-Graphics-基本三维图形基本三维图形绘制函数f(x,y)在平面区域上的三维立体图形的基本命令是Plot3D,Plot3D和Plot的工作方式和选项基本相同。
ListPlot3D可以用来绘制三维数字集合的三维图形,其用法也类似于ListPlot,下面给出这两个函数的常用形式:
Plot3Df,(x,xmin,xmax),(y,ymin,ymax)绘制以x和y为变量的三维函数的图形ListPlot3DZ11,Z12,,Z21,Z22,.绘出高度为Zvx数组的三维图形Plot3D同平面图形一样,也有许多输出选项,你可通过多次试验找出你所需的最佳图形样式。
选项取值意义AxesTrue是否包括坐标轴AxesLabelNone在轴上加上标志:
zlabel规定z轴的标志,xlabel,ylabel,zlabel规定所有轴的标志BoxedTrue是否在曲面周围加上立方体ColorFunctionAutomatic使用什么颜色的明暗度;
Hue表示使用一系列颜色TextStyleSTextStyle用于图形文本的缺省类型ormatTypeStandardForm用于图形文本的缺省格式类型DisplayFunctionSdlisplayFunction如何绘制图形,Indentity表示不显示FaceGridsNone如何在立体界面上绘上网格;
All表示在每个界面上绘上网格HiddenSurfaceTrue是否以立体的形式绘出曲面LighdngTrue是否用明暗分布米给表面加色MeshTrue是否在表面上绘出xy网格PlotRangeAutomatic图中坐标的范围;
可以规定为All,zmin,zmax或xminn,xmax,ymin,ymax,zmin,zmaxShadingTrue表面是用阴影还是留空白ViewPoint13,-24,2表面的空间观察点1.三维绘图举例
(1)函数sin(x+y)cos(x+y)的立体图:
=t1=Plot3DSinx+y*Cosx+y,x,0,4,y,0,4Out1=-SurfaceGraphics-
(2)对于三维图形中Axes、Axeslabel、Boxed等操作同二维图形的一些操作很相似。
用PlotRange设定曲线的表面的变化范围。
=Showt1,PlotRange-0.2,0.2Out2=-SurfaceGraphics-0123401234-0.5-0.2500.250.50123012340123400.10.20.30.40123(3)图形轴上加上标记,且在每个平面上画上网格。
=Showt1,AxesLabel-“Time”,”Depth”,”Value”,FaceGrids-AllOut3=-SurfaceGraphics-极限极限Mathematica计算极限的命令是Limit它的使用方法主要有:
Limitexpr,x-x0当x趋向于x0时求expr的极限Limitexpr,x-x0,Direction-1当x趋向于x0时求expr的左极限Limitexpr,x-x0,Direction-1当x趋向于x0时求expr的右极限趋向的点可以是常数,也可以是+,-例如:
1求In1:
=LimitSqrtx2+2/(3x-6),x-InfinityOut1=2求In2:
=LimitSinx2/x2,x-0Out2=13求01234Time01234Depth-0.5-0.2500.250.5Value0123TimeIn3:
=LimitLogx/x,x-0,Direction-1Out3=-微分微分1.函数的微分在Mathematica中,计算函数的微分或导数是非常方便的,命令为Df,x,表示对x求函数f的导数或偏导数。
该函数的常用格式有以下几种Df,x计算导数或Df,x1,x2,计算多重偏导数Df,x,n计算n阶导数Df,x,NonConstants-v1,v2,计算导数,其中v1,v2依赖于x例如:
(1)求函数sinx的导数In1:
=DSinx,xOut1=Cosx
(2)求函数exsinx的2阶导数In2:
=DExpx*Sinx,x,2Out2=2exCosx(3)假设a是常数,对sinax求导In3:
=DSina*x,xOut3=aCosax(4)二元函数f(x,y)=x2y+y2求f对x,y的一阶和二阶偏导In4:
=fx_,y_=x2*y+y2Out4=x2y+y2In5:
=Dfx,y,xOut5=2xyIn6:
=Dfx,y,yOut6=x2+2yIn7:
=Dfx,y,x,yOut7=2xIn8:
=Dfx,y,x,2Out8=2yIn9:
=Dfx,y,y,2Out9=2Mathematica可以求函数式未知的函数微分,通常结果使用数学上的表示法。
例如:
=Dx*gx,xOut10=gx+xgxIn11:
=Dx*gx,x,4Out11=4g(3)x+xg(4)x对复合函数求导法则同样可用:
=Dghx,xOut12=ghxhx如果要得到函数在某一点的导数值,可以把这点代入导数如:
In13:
=DExpx*Sinx,x/.x-2Out13=e2Cos2+e2Sin2In14:
=N%Out14=3.64392语法语法绘图函数绘图函数
(1)二维绘图Plotf,x,xmin,xmax一维函数fx在区间xmin,xmax上的函数曲线Plotfl,f2.,x,xmin,xmax在同一图形上画几条曲线ListPloty1,y2,.绘出由离散点对(n,yn)组成的图ListPlotx1,y1,x2,y2,绘出由离散点对(xn,ynl)组成的图ParametricPlotfx,fy,t,tmin,tmax由参数方程在参数变化范围内产生的曲线ParametricPlotfx,fy,gx,gy,.,t,tmin,truax由参数方程组在参数变化范围内产生的曲线
(2)二维设置PlotRange-0,1作图显示的值域范围AspectRatio-1/GoldenRatio生成图形的纵横比PlotLabel-label标题文字Axes-false,True分别制定是否画x,y轴AxesLabel-xlabel,ylabelx,y轴上的说明文字Ticks-None,Automatic,fun用什么方式画轴的刻度AxesOrigin-x,y坐标轴原点位置AxesStyle-xstyle,ystyle设置轴线的线性颜色等属性Frame-True,False是否画边框FrameLabel-xmlabel,ymlabel,xplabel,yplabel边框四边上的文字FrameTicks同Ticks边框上是否画刻度GridLines同Ticks图上是否画栅格线Framestyle-xmstyle,ymstyle设置边框线的线性颜色等属性ListPlotdata,PlotJoined-True把离散点按顺序连线Plotsytle-style1,style2,.曲线的线性颜色等属性PlotPoints-15曲线取样点,越大越细致(3)三维绘图Plot3Df,x,xmin,xmax,y,ymin,ymax二维函数flx,y的空间曲面Plot3Df,s,x,xmin,xmax,y,ymin,ymax同上,曲面的染色由s(x,y)值决定ListPlot3Darray二维数据阵array的立体高度图ListPlot3Darray,shades同上,曲面的染色由shades数据值决定ParametricPlot3Dfx,fy,fz,t,tmin,tmax三维参数图形ContourPlotf,x,xmin,xmax,y,ymin,ymax二维函数f(x,y)在指定区间上的等高线图ListContourPlotarray二维函数f(x,y)在指定array上的等高线图(4)三维设置Contours-n画n条等高线Contours-z1,z2,.在zi处画等高线ContourShading-False是否用深浅染色ContourLines-True是否画等高线ContourStyle-stylel,style2,.等高线线性颜色等属性