1 / 38

数学实验

数学实验. 2.6 偏导数与全微分. D[Exp[x+y+z^2],z] D[x^2+y^2,x,y] D[Exp[x+2y],{y,5}] D[x[1]^2+x[2]^2,x[1]] D[g[x^2,y^2],x] D[g[x,y^2],x,x,y] D[x^2+y^2,x,NonConstants->{y}] D[x^2+y[x]^2,x] D[f[Sin[x],y[x^2]],x] Dt[x^2+y^2,x] Dt[x^2+y^2+z^2,x] Dt[x^2+y^2+z^2,x,Constants->{y}] Dt[ArcSin[x/y]].

libby-ramos
Download Presentation

数学实验

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 数学实验

  2. 2.6 偏导数与全微分

  3. D[Exp[x+y+z^2],z] D[x^2+y^2,x,y] D[Exp[x+2y],{y,5}] D[x[1]^2+x[2]^2,x[1]] D[g[x^2,y^2],x] D[g[x,y^2],x,x,y] D[x^2+y^2,x,NonConstants->{y}] D[x^2+y[x]^2,x] D[f[Sin[x],y[x^2]],x] Dt[x^2+y^2,x] Dt[x^2+y^2+z^2,x] Dt[x^2+y^2+z^2,x,Constants->{y}] Dt[ArcSin[x/y]]

  4. t1={{"D[Exp[x+y+z^2],z]", "D[x^2+y^2,x,y]", "D[Exp[x+2y],{y,5}]}", "D[x[1]^2+x[2]^2,x[1]]", "D[g[x^2,y^2],x]", "D[g[x,y^2],x,x,y]", "D[x^2+y^2,x,NonConstants->{y}]", "D[x^2+y[x]^2,x]", "D[f[Sin[x],y[x^2]],x]", "Dt[x^2+y^2,x]", "Dt[x^2+y^2+z^2,x]", "Dt[x^2+y^2+z^2,x,Constants->{y}]", "Dt[ArcSin[x/y]]"}};

  5. t2={{D[Exp[x+y+z^2],z], D[x^2+y^2,x,y], D[Exp[x+2y],{y,5}], D[x[1]^2+x[2]^2,x[1]], D[g[x^2,y^2],x], D[g[x,y^2],x,x,y], D[x^2+y^2,x,NonConstants->{y}], D[x^2+y[x]^2,x], D[f[Sin[x],y[x^2]],x], Dt[x^2+y^2,x], Dt[x^2+y^2+z^2,x], Dt[x^2+y^2+z^2,x,Constants->{y}], Dt[ArcSin[x/y]]}}; TableForm[Transpose[Join[t1,t2]]]

  6. 隐函数求导 例 已知x2+y2+z2-4z=0, 求 . eq=(x^2+y^2+z^2-4z==0); y/:Dt[y,x]=0; deq1=Dt[eq,x] deq2=Dt[eq,x,x] Solve[{deq1,deq2},{Dt[z,x],Dt[z,{x,2}]}]

  7. 例 设x u-y v=0, y u+x v=1,求 eq={x u-y v==0,y u+x v==1}; y/:Dt[y,x]=0; x/:Dt[x,y]=0; eqx=Dt[eq,x] {jie1}=Solve[eqx,{Dt[u,x],Dt[v,x]}] eqy=Dt[eq,y] {jie2}=Solve[eqy,{Dt[u,y],Dt[v,y]}] uv=Solve[eq,{u,v}]; u=u/.uv[[1]];v=v/.uv[[1]]; {D[u,x],D[u,y],D[v,x],D[v,y]}//Simplify {Dt[u,x],Dt[u,y],Dt[v,x],Dt[v,y]}/.jie1/.jie2//Simplify

  8. 2.7 多元函数的极值 例1 设z=x4-8xy+2y2-3, 求函数的极值点和极值. z=x^4-8x y+2y^2-3; dzx=D[z,x];dzy=D[z,y]; s0=Solve[{dzx==0,dzy==0},{x,y}] dzxx=D[z,x,x];dzxy=D[z,x,y];dzyy=D[z,y,y]; L=dzxx dzyy-dzxy^2 Module[{a,b,c,d,e},Do[a=L/.s0[[k]] ;b= dzxx/.s0[[k]];c=z/.s0[[k]];d=x/.s0[[k]];e=y/.s0[[k]]; If[a>0,If[b<0,Print["(",d,", ",e,") is a maximum point. "," z=",c], Print["(",d,", ",e,") is a minimum point."," z=",c]]], {k,1,Length[s0]}]]

  9. 也可以通过图形来观察极值点与驻点 Plot3D[z,{x,-4,4},{y,-6,6},PlotPoints->100,Mesh->False] 缩小值域再作观察: small=Plot3D[z,{x,-4,4},{y,-6,6},PlotPoints->100,PlotRange-> {-20,3},Mesh->False] Show[small,ClipFill->None] ContourPlot[z,{x,-4,4},{y,-6,6},PlotRange->{-30,3}]

  10. 条件极值与Lagrange乘数法 例2 求表面积为a2且体积最大的长方体的体积. Clear[x,y,z,r,g] g[x_,y_,z_]:=x y z-k(2x y+2y z+2 x z-a^2) eq1=D[g[x,y,z],x]==0; eq2=D[g[x,y,z],y]==0; eq3=D[g[x,y,z],z]==0; eq4=D[g[x,y,z],k]==0; r=Solve[{eq1,eq2,eq3,eq4},{x,y,z,k}] g[x,y,z]/.r[[2]] Clear[g,eq1,eq2,eq3,eq4,r]

  11. 例3 已知两条直线的方程分别为: 求这两条直线间的最短距离. Clear[x,y,z,s,t,r,k1,k2,m1,m2,L] L=(x-s)^2+(y-t)^2+(z-r)^2+k1(x+y-z-1)+m1(2x+y-z-2)+ k2(s+2t-r-2)+m2(s+2t+2r+4); rr=Solve[{D[L,x]==0,D[L,y]==0,D[L,z]==0,D[L,s]==0, D[L,t]==0,D[L,r]==0,D[L,k1]==0,D[L,k2]==0, D[L,m1]==0,D[L,m2]==0},{x,y,z,s,t,r,k1,k2,m1,m2}] d=Sqrt[(x-s)^2+(y-t)^2+(z-r)^2]/.rr[[1]] Print[p1={x,y,z}/.rr[[1]],",",p2={s,t,r}/.rr[[1]],",",p2-p1]

  12. 二元函数在区域D内的最大值和最小值 例4 求函数z=x2+y2-4x-2y+7在上半圆域x2+y216, y0上的最大值和最小值. (1)画出函数的等高线和区域D的边界线. Clear[x,y,z,r,g] g[x_,y_]:=x^2+y^2-4x-2y+7 pts=Table[N[{4Cos[t],4Sin[t]}],{t,0,Pi,Pi/20}]; ContourPlot[g[x,y],{x,-5,5},{y,-5,5},Epilog->{RGBColor[1,1,0], Thickness[0.003],Line[pts],Line[{{-4,0},{4,0}}]}]; (2)求函数在区域D内的驻点,计算相应的函数值. r=Solve[{D[g[x,y],x]==0,D[g[x,y],y]==0},{x,y}] g[x,y]/.r[[1]]

  13. (3)求函数在直线边界y=0, -4x4上的最值. Plot[g[x,0],{x,-4,4},PlotRange->All]; r=Solve[D[g[x,0],x]==0,x] Print[g[x,0]/.r[[1]], " , ",g[-4,0], " , ",g[4,0]] (4)求函数在圆弧边界x2+y2=16, y0上的最值. Plot[g[4Cos[t],4Sin[t]],{t,0,Pi}]; eqt=D[g[4Cos[t],4Sin[t]],t]==0; rt=FindRoot[eqt,{t,0.5}] {4Cos[t],4Sin[t]}/.rt g[4Cos[t],4Sin[t]]/.rt 根据上述计算可知:函数在区域D上的点(2,1)处取得最小值2;在边界点(-4,0)处取得最大值39.

  14. 例1 设 ,在同一坐标系中作出y=f(x), y=f(x+1)和y=f(x-2)的图象. 3.1 平面上的几何变换 函数图形的平移变换 f[x_]:=Exp[-x^2/2] Plot[{f[x],f[x+1],f[x-2]},{x,-5,5},PlotStyle->{RGBColor[1,0,0], RGBColor[0,1,0], RGBColor[0,0,1]}] ParametricPlot[{{Cos[t],Sin[t]}, {Cos[t]+3,Sin[t]-2}},{t,0,2Pi}, PlotStyle->{RGBColor[1,0,0],RGBColor[0,0,1]},AspectRatio ->Automatic] Plot[{f[x],f[x]+2,f[x-2]-3},{x,-5,5},PlotStyle->{RGBColor[1,0,0], RGBColor[0,1,0], RGBColor[0,0,1]}]

  15. 例2 设 ,在同一坐标系中作出y=f(x), y=f(2x)和y=f(x/2)的图象. 函数图形的伸缩变换 f[x_]:=Exp[-x^2/2] Plot[{f[x],f[2x],f[x/2]},{x,-5,5},PlotStyle->{RGBColor[1,0,0], RGBColor[0,1,0], RGBColor[0,0,1]}] 通过动画观察图象的变化情况: Do[Plot[f[s x],{x,-5,5},PlotStyle->RGBColor[0,0,1], PlotRange->{0,1},PlotLabel->"s="<>ToString[s]],{s,0.2,5,0.2}] 进一步观察t f(s x),f(-x),-f(x)及参数方程图象的变化情况.

  16. 例3 将抛物线 绕原点旋转30度. 函数图形的旋转变换 z[t_]:=(t+t^2 I)Exp[Pi/6 I] ParametricPlot[{Re[z[t]],Im[z[t]]},{t,-2,2},AspectRatio-> Automatic,PlotRange->{{-5,5},{-1,5}},PlotStyle-> RGBColor[0,0,1]] 动画观察图象旋转的效果: z1[t_,s_]:= (t+t^2 I)Exp[s I] Do[ParametricPlot[{Re[z1[t,s]],Im[z1[t,s]]},{t,-2,2}, AspectRatio-> Automatic,PlotRange->{{-5,5},{-5,5}}, PlotStyle-> RGBColor[0,0,1]],{s,0,2Pi,Pi/12}]

  17. 例4 已知 ,试扩展f(x)的定义域,使f(x)分别成为奇函数和偶函数,作出延拓后的函数图象. 函数图形的对称变换 (1) 偶延拓 f=.;f[x_]:=Sqrt[2x-x^2]/;x>=0 f[x_]:=f[-x]/;x<0 Plot[f[x],{x,-2,2},AspectRatio->Automatic] (2) 奇延拓 f1[x_]:=Sqrt[2x-x^2]/;x>=0 f1[x_]:=-f1[-x]/;x<0 Plot[f1[x],{x,-2,2},AspectRatio->Automatic]

  18. 例5 将例4中的函数f(x)延拓为以2 为周期的周期函数,作出延拓后的函数图象. 周期延拓 Clear[f]; f[x_]:=Which[0<=x<=2,Sqrt[2x-x^2],x>2,f[x-2],x<0,f[x+2]] Plot[f[x],{x,-6,6},AspectRatio->Automatic]

  19. 例6 作出例4中的函数y=f(x)关于直线y=ax的镜像. ang[x_]:=ArcTan[x];a=1/2; zf[t_]:=(t+Sqrt[2t-t^2] I); zf1[t_,u_]:=Conjugate[zf[t] Exp[-ang[u]I]]Exp[ang[u]I]; ParametricPlot[{{Re[zf1[t,a]],Im[zf1[t,a]]},{t,t/2},{Re[zf[t]], Im[zf[t]]}},{t,0,2},AspectRatio->Automatic,PlotStyle-> {RGBColor[1,0,0], RGBColor[0,1,0], RGBColor[0,0,1]}] 动画观察图象镜像的效果: Do[ParametricPlot[{{Re[zf1[t,b]],Im[zf1[t,b]]},{t,b t}, {Re[zf[t]],Im[zf[t]]}},{t,0,2},PlotRange->{{-1,2.01},{-1.01,2}}, AspectRatio->Automatic, PlotStyle->{RGBColor[1,0,0], RGBColor[0,1,0], RGBColor[0,0,1]}],{b,0,2,1/12}]

  20. 例7 作出例4中的函数y=f(x)关于直线y=3x+5的镜像. a=3;b=5I; zf2[t_,u_]:=Conjugate[(zf[t]-b)Exp[-ang[u]I]]Exp[ang[u]I]+b; ParametricPlot[{{Re[zf2[t,a]],Im[zf2[t,a]]},{t-2,3(t-2)+5}, {Re[zf[t]],Im[zf[t]]}},{t,0,2}, AspectRatio->Automatic, PlotStyle->{RGBColor[1,0,0], RGBColor[0,1,0], RGBColor[0,0,1]}]

  21. 几个练习 例1 P143,练习五 z=.;x=.;y=.;point={x->1,y->1,z->1}; eqns={2x-3y+5z-4==0,x^2+y^2+z^2-3x==0}; jie=Solve[Dt[eqns,x],{Dt[y,x],Dt[z,x]}] dzx=Dt[z,x]/.jie[[1]]/.point dyx=Dt[y,x]/.jie[[1]]/.point v0={1,dyx,dzx} (x-1)/1==(y-1)/dyx==(z-1)/dzx Expand[(x-1)+(y-1)dyx+(z-1)dzx]==0

  22. 例2 P143,练习六 Module[{a,b,b0,m,u,x,y,z}, m[v_]:=Sqrt[v.v]; u=x^2+y^2+z^2;z[t_]:={t,t^2,t^2}; b=D[z[t],t]/.{t->1};b0=b/m[b]; grad={D[u,x],D[u,y],D[u,z]}/.{x->1,y->1,z->1} ; db0=grad.b0; Print[db0," , ",grad]]

  23. 例3 P143,练习七 (2) fff[x_,y_]:=Evaluate[Normal[Series[x^y,{x,1,5},{y,1,5}]]]; N[fff[1101/1000,1021/1000],10]

  24. 例4 P163,练习四 Module[{a,s,data,xydata,T1,T2,TT,g1,i}, a=Pi/30;s=Sin[a]+Cos[a]; data={{-1,-1,1},{1,-1,1},{1,1,1},{-1,1,1}}; T1={{Cos[a],Sin[a],0},{-Sin[a],Cos[a],0},{0,0,1}}; T2={{s,0,0},{0,s,0},{0,0,1}};TT=N[T1.T2]; g1={}; For[i=0,i<21,i++, xydata=Transpose[Drop[Transpose[data],-1]]; xydata=Append[xydata,xydata[[1]]]; g1=Append[g1,Graphics[Line[xydata]]]; Show[g1,AspectRatio->1,PlotRange->{{-10,10},{-10,10}}]; data=data.TT]]

  25. 复数法 Module[{a,s,data,xydata,g1,i}, a=Pi/30;s=Sin[a]+Cos[a]; data={-1-I,1-I,1+I,-1+I,-1-I}; g1={}; For[i=0,i<21,i++, xydata=Transpose[{Re[data],Im[data]}]; g1=Append[g1, Graphics[{RGBColor[1,0,1],Line[xydata]}]]; Show[g1,AspectRatio->1,PlotRange->{{-10,10},{-10,10}}]; data=N[data Exp[a I] s]] ]

  26. 3.3 机翼轮廓线的加工 问题的提出 在飞机制造业中,机翼的加工是一项关键技术。由于机翼的尺寸很大,通常在图纸中只能标出某些关键点的数据。下表给出的是某型号飞机的机翼上缘轮廓线的部分数据。

  27. t={{0.,0.},{4.74,5.32},{9.50,8.10},{19.00,11.97},{38.00,16.15}, {57.00,17.10},{76.00,16.34},{95.00,14.63},{114.00,12.16}, {133.00,9.69},{152.00,7.03},{171.00,3.99},{190.00,0.}}; TableForm[Join[{{x,y}},t]] ListPlot[t,PlotJoined->True,AspectRatio->1/4,PlotStyle-> RGBColor[1,0,0]]

  28. 设多项式为 ,根据已知条件,对应每个节点 ,应有 所以系数a0,a1,…,an应满足如下方程组: 多项式插值 当x0,x1,…,xn互不相同时,由n+1个节点可确定唯一的n次插值多项式Pn(x).

  29. 例1(P.172) 略. s={{0,853.},{30,921.},{60,934.}}; n=3;eqns={};vars={}; Pn[x_]:=a[0]+Sum[a[k]x^k,{k,1,n-1}] For[i=1,i<=n,i++,eqn[i]=(s[[i,2]]==Pn[s[[i,1]]])] For[i=1,i<=n,i++,AppendTo[eqns,eqn[i]]; AppendTo[vars,a[i-1]]] xishu=Solve[eqns,vars] fy=Pn[x]/.xishu[[1]] Plot[fy,{x,0,60}] FindMinimum[-fy,{x,30}] 待定系数法 通过计算可以看出,当x=52,即6月22日的白天最长,约为935.11分钟。

  30. 线性插值 考虑过两个节点(x0,y0),(x1,y1)的线性插值. 抛物线插值 考虑过节点(x0,y0),(x1,y1), (x2,y2)的抛物线插值. x0=0;x1=30;x2=60;y0=853.;y1=921.;y2=934.; l[x_,a_,b_,c_]:=(x-b)/(a-b) (x-c)/(a-c) L0[x_]:=l[x,x0,x1,x2];L1[x_]:=l[x,x1,x0,x2]; L2[x_]:=l[x,x2,x0,x1] p12[x_]:=L0[x] y0+L1[x]y1+L2[x]y2 FindMinimum[-p12[x],{x,30}] 基函数法

  31. Lagrange插值 InterpolatingPolynomial[data,x] InterpolatingPolynomial[{1,4,5,8},x]//Simplify s={{0,853.},{30,921.},{60,934.}}; InterpolatingPolynomial[s,x]//Expand

  32. 三次样条函数 满足以下: (a) 在每一区间段[xi-1,xi]上都是三次多项式,记为Si(x). (b) S(x)在区间[a,b]上有二阶连续导数. (c) 在插值节点处满足插值条件S(xi)=yi, i=0,1,2,…,n. 三次样条插值 使用方法 <<NumericalMath`SplineFit` SplineFit[Data,Cubic] sindata=Table[{t,Sin[t]},{t,0,6Pi,0.3Pi}]; splinesin=SplineFit[sindata,Cubic] ParametricPlot[splinesin[t],{t,0,20},Compiled->False] fff=SplineFit[t,Cubic]; ParametricPlot[fff[t],{t,0,12}, AspectRatio->1/3]

  33. 3.4 数控机床的刀具补偿 实际问题:刀具补偿的估计 在数控机床加工零件时,由于刀具磨损会影响加工精度,要对刀具的磨损进行补偿. 为测定刀具的磨损速度,实验室每隔一小时测量一次刀具的厚度(单位: mm),得到实验数据如下:

  34. t={0,1,2,3,4,5,6,7}; y={27.0,26.8,26.5,26.3,26.1,25.7,25.3,24.8}; data=Transpose[{t,y}] ph0=ListPlot[data,PlotStyle-> {RGBColor[1,0,0],PointSize[0.02]]

  35. 最小二乘法 从数据图可以看出:这些点大致位于一条直线的附近。因此设y与t近似满足线性关系,设y=a+b t. 可以使用最小二乘法来确定a,b. M[a_,b_]:=Sum[(y[[i]]-(a+b t[[i]]))^2,{i,1,8}] eqt={D[M[a,b],a]==0,D[M[a,b],b]==0}//Simplify r=Solve[eqt,{a,b}] a=.;b=.; ss1=a+b t/.r[[1]] Ph1=Plot[ss1,{x,0,7},PlotStyle->RGBColor[0,1,0]]

  36. Mathematica系统提供了Fit专用函数来实现在最小二乘原则下的线性拟合运算. Fit[Data,funcs,var] ss1=Fit[data,{1,x},x] ss2=Fit[data,{1,x,x^2},x] ss3=Fit[data,{1,x,x^2,x^3},x] ss4=Fit[data,{1,Sin[x],x^2},x] ph2=Plot[{ss1,ss2,ss3,ss4},{x,0,7},PlotStyle-> {RGBColor[0,1,0], RGBColor[0,0,1], RGBColor[1,1,0], RGBColor[0,1,1]}] Show[ph0,ph1]

  37. 曲线拟合 例 在研究某单质分子的化学反应速度时,得到如下数据: 试根据实验数据确定经验分布函数y=f(x). t1={3,6,9,12,15,18,21,24}; y1={57.6,41.9,31.0,22.7,16.6,12.2,8.9,6.5}; data1=Transpose[{t1,y1}]; d2=ListPlot[data1,PlotStyle-> {RGBColor[0,0,1],PointSize[.015]}]

  38. 根据化学反应速度理论,y=f(t)应该是指数函数y=keat,其中a, k是待定常数。取对数得,lny=lnk+at=b+at,即lny 与t满足线性关系。 logy=Log[y1]; data2=Transpose[{t1,logy}]; d3=ListPlot[data2, PlotStyle-> {RGBColor[0,0,1],PointSize[.015]}] ly=Fit[data2,{1,x},x] y=Exp[ly]//Factor g=Plot[y,{x,1,25}, PlotStyle->RGBColor[1,0,0]] Show[d2,g] sss=Fit[data1,{1,x,x^2,x^3},x];g1=Plot[sss,{x,1,25}]; Show[d2,g1]

More Related