◎张艳波 闫慧洁
(桂林旅游学院,广西 桂林 541004)
数学是研究现实世界数量关系和空间形式的一门学科.Mathematica凭借其符号语言及高精度的运算功能受到了广泛关注,是目前比较流行的符号运算软件之一.在大学教育和科学研究中,Mathematica都是不可缺少的工具.
例1求方程lnx+xsinx=3的数值近似解.

Mathematica命令含 义NSolve[lhs==rhs,x]给出一个代数方程的数值解NRoots[lhs==rhs,x]给出一个代数方程的数值解FindRoot[lhs==rhs,{x,x0}]求方程的数值解,初值为x0
输入:NSolve[Log[x]+x*Sin[x]==3,x]或NRoots[Log[x]+x*Sin[x]==3,x]
得不出结果.因此,需要在区间[0.5,20]内画出函数y=lnx+xsin x-3的图形.
输入:Plot[Log[x]+x*Sin[x]-3,{x,0.5,20}],结果如图1.

图1
从图1看出,在区间[0.5,20]内,方程lnx+xsinx=3在x=6,10,12,16,19附近有解.
输入:FindRoot[Log[x]+x*Sin[x]==3,{x,6}]
FindRoot[Log[x]+x*Sin[x]==3,{x,10}]
FindRoot[Log[x]+x*Sin[x]==3,{x,12}]
FindRoot[Log[x]+x*Sin[x]==3,{x,16}]
FindRoot[Log[x]+x*Sin[x]==3,{x,19}]
结果:{x→6.45971};{x→9.34276};{x→12.6034};{x→15.6922};{x→18.8529}.
例2画出心形线r=2(1-cost)、三叶玫瑰线r=2cos 3t的图形.平面曲线的绘制涉及的基本命令如下:

Mathematica命令含义Plot[f,{x,xmin,xmax},选择项]在[xmin,xmax]内画出函数y=f(x)的图形Plot[{f1,f2,…},{x,xmin,xmax},选择项]在[xmin,xmax]内同时画出函数y=f1(x),y=f2(x)…的图形Show[P1,P2,…,Pn]将函数图形P1,P2,…,Pn同时显示ParametricPlot[{x[t],y[t]},{t,tmin,tmax},选择项]画参数方程x=x(t)y=y(t){,t∈[tmin,tmax]表示的曲线ListPlot[{y1,y2,…},选择项]画出坐标为(1,y1),(2,y2),…的点ListPlot[{{x1,y1},{x2,y2} …},选择项]画出坐标为(x1,y1),(x2,y2),…的点
输入:r[t_]:=2*(1-Cos[t])
ParametricPlot[{r[t]*Cos[t],r[t]*Sin[t]},{t,0,2*Pi},AspectRatio->Automatic]
r[t_]:=2*Cos[3t]
ParametricPlot[{r[t]*Cos[t],r[t]*Sin[t]},{t,0,2*Pi},AspectRatio->Automatic]
结果如图2.

图2
例3xsiny+yex=0,求y′(x),y′(0)

Mathematica命令含义D[f[x],x]求函数f(x)对x的导数D[f[x],{x,n}]求函数f(x)对x的n阶导数Dt[f(x)]计算函数f(x)的微分Series[f[x]{x,x0,n}]将函数f(x)在x0处进行n阶泰勒展开Normal[p]去掉泰勒展开式p后的皮亚诺余项
输入:Solve[Dt[x*Sin[y]+y*Exp[x],x]==0,Dt[y,x]]
结果:{{Dt[y,x]→(-Expx y+Sin[y])/(Expx+xCos[y])}}
Solve[x*Sin[y]+y*Exp[x]==0,y]/.{x->0}
结果:{{y→0}}
例4画出y=ex,y=e-x,x=1所围成的图形,并计算图形的面积.
在Mathematica命令窗口输入以下程序:
P1=Plot[E^x,{x,-2,2}];
P2=Plot[E^(-x),{x,-2,2}];
P3=ParametricPlot[{1,t},{t,-2,4}];
Show[P1,P2,P3].


图3


Mathematica命令含义D[f[x,y,z],x]求f(x,y,z)对x的偏导数D[z,y]求z对y的偏导数D[f[x,y,z],{x,2}]求f(x,y,z)对x的二阶偏导数D[z,{x,2}]求z对x的二阶偏导数D[f[x,y,z],x,y]求f(x,y,z)对x,y的混合偏导数D[z,x,y]求z对x,y的混合偏导数Dt[f[x,y],Constants->{a}]求f(x,y)的全微分Dt[z]求z的全微分Fit[data,funs,vars]输出结果是以基底函数(funs)的线性组合形式为拟合函数的最佳拟合函数Fit[data,{1,x},x]用线性函数a+bx拟合数据d……