第一篇:MATLAB实验小结论文 数学建模
数学建模论文
题 目 求π的近似值的数学建模问题
学 院 材料科学与工程
专业班级
学生姓名
成 绩
年 05 月 20
MATLAB
2010 日
摘要 这个学期,我们开了MATLAB的课程,因为是一个人做所以作业选择书上一道相关的题目,并参考了一些资料。
任务
求π的近似值
分析
1111这个公式求π的近似值,直到某一项的绝对值小于10-6为止。4357采用MATLAB的循环来求
实验程序
x=1;y=0;i=1;while abs(x)>=1e-6 y=y+x;x=(-1)^i/(2*i+1);i=i+1;end format long,pi=4*y 可以用实验结果 pi =
3.14***92 收获
得出的π值已经非常接近真实的值了,学好MATLAB可以提高我们的效率。
参考文献
数学模型(第三版)姜启源著 高等教育出版社 MATLAB实验
第二篇:数学建模实验小结
例1-1 >> r=2;V=4/3*pi*r^3 V =
33.5103 例2-1 计算s=...>> s=0;>> for n=1:100 s=s+1/n/n;end >> s s =
1.6350 例2-5 两个一元函数y=x3-x-1,y=x .2sin(5x)在区间-1 y=abs(x).^0.2.*sin(5*x);plot(x,y,':ro');hold off; 曲面图 >> xa=6:8;ya=1:4;>> [x,y]=meshgrid(xa,ya);>> z=x.^2+y.^2;>> mesh(x,y,z)>> [x,y,z] ans = 例2-6 二元函数图z=xexp(-x2-y2).xa=-2:0.2:2;ya=xa; [x,y]=meshgrid(xa,ya);z=x.*exp(-x.^2-y.^2);mesh(x,y,z);pause;surf(x,y,z);pause; contour(x,y,z,[0.1,0.1]);pause mesh(x,y,z); Page40 1.先在编辑器窗口写下列M函数,保存为ex2_1.m function [xbar,s]=ex2_1(x)n=length(x);xbar=sum(x)/n; s=sqrt((sum(x.^2)-n*xbar^2)/(n-1)); >> x=[81 70 65 51 76 66 90 87 61 77];>> [xbar,s]=ex2_1(x)xbar = 72.4000 s = 12.1124 2.s=log(1);n=0;while s<=100 n=n+1; s=s+log(1+n);end m=n 3.F(1)=1;F(2)=1;k=2;x=0;e=1e-8;a=(1+sqrt(5))/2;while abs(x-a)>e k=k+1;F(k)=F(k-1)+F(k-2);x=F(k)/F(k-1);end a,x,k m = a = 1.6180 x = 1.6180 k = 4.clear;tic;s=0;for i=1:1000000 s=s+sqrt(3)/2^i;end s,toc tic;s=0;i=1; while i<=1000000 s=s+sqrt(3)/2^i;i=i+1; end s,toc tic;s=0; i=1:1000000; s=sqrt(3)*sum(1./2.^i);s,toc s = 1.7321 Elapsed time is 2.038973 seconds.s = 1.7321 Elapsed time is 2.948968 seconds.s = 1.7321 Elapsed time is 0.453414 seconds 5.t=0:24; c=[15 14 14 14 14 15 16 18 20 22 23 25 28...31 32 31 29 27 25 24 22 20 18 17 16];plot(t,c) 6.(1)x=-2:0.1:2;y=x.^2.*sin(x.^2-x-2);plot(x,y)y=inline('x^2*sin(x^2-x-2)');fplot(y,[-2 2]) (2)t=linspace(0,2*pi,100); x=2*cos(t);y=3*sin(t);plot(x,y) (3)x=-3:0.1:3;y=x; [x,y]=meshgrid(x,y);z=x.^2+y.^2; surf(x,y,z) (4) x=-3:0.1:3;y=-3:0.1:13;[x,y]=meshgrid(x,y); z=x.^4+3*x.^2+y.^2-2*x-2*y-2*x.^2.*y+6;surf(x,y,z) (5) t=0:0.01:2*pi; x=sin(t);y=cos(t);z=cos(2*t);plot3(x,y,z) 7.x=linspace(0,pi,100); y1=sin(x);y2=sin(x).*sin(10*x);y3=-sin(x);plot(x,y1,x,y2,x,y3)%page41, ex7 x=-1.5:0.05:1.5; y=1.1*(x>1.1)+x.*(x<=1.1).*(x>=-1.1)-1.1*(x<-1.1);plot(x,y) Page59 1.>> a=[1 2 3];b=[2 4 3];>> a./b ans = 0.5000 0.5000 1.0000 >> a.b ans = >> a/b ans = 0.6552 >> ab ans = 0 0 0 0 0 0 0.6667 1.3333 1.0000 2.(1)>> a=[4 1-1;3 2-6;1-5 3];b=[9;-2;1];>> ab ans = 2.3830 1.4894 2.0213(2)>> a=[4-3 3;3 2-6;1-5 3],b=[-1;-2;1] a = -5 b = >> ab ans = -0.4706 -0.2941 0(3)>> a=[4 1;3 2;1-5],b=[1;1;1] a = -5 b = >> ab ans = 0.3311 -0.1219(4)>> a=[2 1-1 1;1 2 1-1;1 1 2 1],b=[1;2;3] a = -1 b = >> ab ans = 0 0 6.(1)>> a=[4 1-1;3 2-6;1-5 3];>> b=det(a),inv(a),[V,D]=eig(a)b = -94 ans = 0.2553 -0.0213 0.0426 0.1596 -0.1383 -0.2234 0.1809 -0.2234 -0.0532 V = 0.0185 -0.9009 -0.3066 -0.7693 -0.1240 -0.7248 -0.6386 -0.4158 0.6170 D = -3.0527 0 0 0 3.6760 0 0 0 8.3766(2)>> a=[1 1-1;0 2-1;-1 2 0];b=det(a),inv(a),[V,D]=eig(a)b = ans = 2.0000 -2.0000 1.0000 1.0000 -1.0000 1.0000 2.0000 -3.0000 2.0000 V = -0.5773 0.5774 + 0.0000i 0.57740.0000i 0.5773 + 0.0000i D = 1.0000 0 0 0 1.0000 + 0.0000i 0 0 0 1.00000.0000i -0.5773 0.5774 0.5774 -0.5774 0.57730.0000i >> det(V)ans = -5.0566e-028-5.1918e-017i %V的行列式接近0, 特征向量线性相关,不可对角化(3)>> a=[5 7 6 5;7 10 8 7;6 8 10 9;5 7 9 10];[V,D]=eig(a)V = 0.8304 0.0933 0.3963 0.3803 -0.5016 -0.3017 0.6149 0.5286 -0.2086 0.7603 -0.2716 0.5520 0.1237 -0.5676 -0.6254 0.5209 D = 0.0102 0 0 0 0 0.8431 0 0 0 0 3.8581 0 0 0 0 30.2887 >> inv(V)*a*V ans = 0.0102 0.0000 -0.0000 0.0000 0.0000 0.8431 -0.0000 -0.0000 -0.0000 0.0000 3.8581 -0.0000 -0.0000 -0.0000 0 30.2887 8 对称阵A为正定的充分必要条件是:A的特征值全为正。只有(3)对称, 且特征值全部大于零, 所以(3)是正定矩阵.例4.2用2次多项式拟合下列数据。>> clear;x=[0.1,0.2,0.15,0,-0.2,0.3];>> y=[0.95,0.84,0.86,1.06,1.50,0.72];>> p=polyfit(x,y,2)p = 1.7432 -1.6959 1.0850 得到二次拟合式:1.7432x^2-1.6959x+1.0850 >> xi=-0.2:0.01:0.3;>> yi=polyval(p,xi);plot(x,y,'o',xi,yi); 例4.3 求函数y=x*sin(x^2-x-1)在(-2,-0.1)内的零点。>> fun=inline('x*sin(x^2-x-1)','x')fun = Inline function: fun(x)= x*sin(x^2-x-1)>> fzero(fun,[-2,-0.1])??? Error using ==> fzero at 292 The function values at the interval endpoints must differ in sign.>> fplot(fun,[-2,-0.1]);grid on; >> [x,f,h]=fsolve(fun,-1.6),[x,f,h]=fsolve(fun,-0.6)Optimization terminated: first-order optimality is less than options.TolFun.x = -1.5956 f = 1.4909e-009 h = Optimization terminated: first-order optimality is less than options.TolFun.x = -0.6180 f = -3.3152e-012 h = 例4.4求下列方程组在原点附近的解 >> fun=inline('[4*x(1)-x(2)+exp(x(1))/10-1,-x(1)+4*x(2)+x(1)^2/8]','x');[x,f,h]=fsolve(fun,[0,0])Optimization terminated: first-order optimality is less than options.TolFun.x = 0.2326 0.0565 f = 1.0e-006 * 0.0908 0.1798 h = 例4.5 求二元函数f(x,y)=5-x^4-y^4+4*x*y在原点附近的极大值。(等价于求-f(x,y)的极小值) >> fun=inline('x(1)^4+x(2)^4-4*x(1)*x(2)-5');>> [x,g]=fminsearch(fun,[0,0])x = 1.0000 1.0000 g = -7.0000 例4.6 用Newton迭代法求下列方程的正根,要求精度为10的-6次 X^2-3x+e^x=2 >> fun=inline('x^2-3*x+exp(x)-2');>> fplot(fun,[0,2]);>> grid on; %M函数 newton.m function x =newton(fname,dfname,x0,e)if nargin<4,e=1e-4;end x=x0;x0=x+2*e;while abs(x0-x)>e x0=x;x=x0-feval(fname,x0)/feval(dfname,x0);end >> dfun=inline('2*x-3+exp(x)');format long;newton(fun,dfun,1.5,1e-6),format short ans = 1.*** 例4.7 用函数y=a*e^(b*x)拟合例4.2的数据。>> fun=inline('c(1)*exp(c(2)*x)','c','x');>> x=[0.1,0.2,0.15,0,-0.2,0.3];y=[0.95,0.84,0.86,1.06,1.50,0.72];>> c=lsqcurvefit(fun,[0,0],x,y)Optimization terminated: relative function value changing by less than OPTIONS.TolFun.c = 1.0997 -1.4923 PAGE 77 1.%Exercise 1(1)roots([1 1 1])%Exercise 1(2) roots([3 0-4 0 2-1])%Exercise 1(3)p=zeros(1,24); p([1 17 18 22])=[5-6 8-5];roots(p) %Exercise 1(4)p1=[2 3]; p2=conv(p1, p1);p3=conv(p1, p2); p3(end)=p3(end)-4;%原p3最后一个分量-4 roots(p3)2.%Exercise 2 fun=inline('x*log(sqrt(x^2-1)+x)-sqrt(x^2-1)-0.5*x');fzero(fun,2)3.%Exercise 3 fun=inline('x^4-2^x');fplot(fun,[-2 2]);grid on; fzero(fun,-1),fzero(fun,1),fminbnd(fun,0.5,1.5) 4.%Exercise 4 fun=inline('x*sin(1/x)','x');fplot(fun, [-0.1 0.1]); x=zeros(1,10);for i=1:10, x(i)=fzero(fun,(i-0.5)*0.01);end;x=[x,-x] x = Columns 1 through 11 0.0050 0.0152 0.0245 0.0354 0.0455 0.0531 0.0637 0.0796 0.0796 0.1061 -0.0050 Columns 12 through 20 -0.0152 -0.0245 -0.0354 -0.0455 -0.0531 -0.0637 -0.0796 -0.0796 -0.1061 5.%Exercise 5 fun=inline('[9*x(1)^2+36*x(2)^2+4*x(3)^2-36;x(1)^2-2*x(2)^2-20*x(3);16*x(1)-x(1)^3-2*x(2)^2-16*x(3)^2]','x'); [a,b,c]=fsolve(fun,[0 0 0])6.%Exercise 6 fun=@(x)[x(1)-0.7*sin(x(1))-0.2*cos(x(2)),x(2)-0.7*cos(x(1))+0.2*sin(x(2))];[a,b,c]=fsolve(fun,[0.5 0.5])7.%Exercise 7 clear;close;t=0:pi/100:2*pi; x1=2+sqrt(5)*cos(t);y1=3-2*x1+sqrt(5)*sin(t);x2=3+sqrt(2)*cos(t);y2=6*sin(t); plot(x1,y1,x2,y2);grid on;%作图发现4个解的大致位置,然后分别求解 y1=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[1.5,2])y2=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[1.8,-2])y3=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[3.5,-5])y4=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[4,-4]) 8.%Exercise 8(1)clear; fun=inline('x.^2.*sin(x.^2-x-2)');fplot(fun,[-2 2]);grid on;%作图观察 x(1)=-2; x(3)=fminbnd(fun,-1,-0.5);x(5)=fminbnd(fun,1,2); fun2=inline('-x.^2.*sin(x.^2-x-2)');x(2)=fminbnd(fun2,-2,-1);x(4)=fminbnd(fun2,-0.5,0.5);x(6)=2 feval(fun,x)x = -2.0000 -1.5326 -0.7315 -0.0000 1.5951 2.0000 ans = -3.0272 2.2364 -0.3582 -0.0000 -2.2080 0 %答案: 以上x(1)(3)(5)是局部极小,x(2)(4)(6)是局部极大,从最后一句知道x(1)全局最小,x(2)最大。 %Exercise 8(2)clear; fun=inline('3*x.^5-20*x.^3+10');fplot(fun,[-3 3]);grid on;%作图观察 x(1)=-3; x(3)=fminsearch(fun,2.5); fun2=inline('-(3*x.^5-20*x.^3+10)');x(2)=fminsearch(fun2,-2.5);x(4)=3;feval(fun,x)ans = -179 -54 199 %Exercise 8(3) fun=inline('abs(x^3-x^2-x-2)');fplot(fun,[0 3]);grid on;%作图观察 fminbnd(fun,1.5,2.5) fun2=inline('-abs(x^3-x^2-x-2)');fminbnd(fun2,0.5,1.5)ans = 2.0000 ans = 1.0000 9.%Exercise 9 close; x=-2:0.1:1;y=-7:0.1:1;[x,y]=meshgrid(x,y); z=y.^3/9+3*x.^2.*y+9*x.^2+y.^2+x.*y+9;mesh(x,y,z);grid on;%作图观察 fun=inline('x(2)^3/9+3*x(1)^2*x(2)+9*x(1)^2+x(2)^2+x(1)*x(2)+9');x=fminsearch(fun,[0 0])%求极小值 fun2=inline('-(x(2)^3/9+3*x(1)^2*x(2)+9*x(1)^2+x(2)^2+x(1)*x(2)+9)');x=fminsearch(fun2,[0-5])%求极大值 x = 0 0 x = -0.3333 -6.0000 10.clear;t=0:24; c=[15 14 14 14 14 15 16 18 20 22 23 25 28...31 32 31 29 27 25 24 22 20 18 17 16];p2=polyfit(t,c,2)p3=polyfit(t,c,3) fun=inline('a(1)*exp(a(2)*(t-14).^2)','a','t'); a=lsqcurvefit(fun,[0 0],t,c)%初值可以试探 f=feval(fun, a,t) norm(f-c)%拟合效果 plot(t,c,t,f)%作图检验 fun2=inline('b(1)*sin(pi/12*t+b(2))+20','b','t');%原题修改f(x)+20 b=lsqcurvefit(fun2,[0 0],t,c)figure f2=feval(fun2, b,t) norm(f2-c)%拟合效果 plot(t,c,t,f2)%作图检验 Page 94 chapter5 1.x=[0 4 10 12 15 22 28 34 40];y=[0 1 3 6 8 9 5 3 0];trapz(x,y)ans = 178.5000 2.>> x=[0 4 10 12 15 22 28 34 40];y=[0 1 3 6 8 9 5 3 0];diff(y)./diff(x) ans = 0.2500 0.3333 1.5000 0.6667 0.1429 -0.6667 -0.3333 -0.5000 3.xa=-1:0.1:1;ya=0:0.1:2;[x,y]=meshgrid(xa,ya);z=x.*exp(-x.^2-y.^3); [px,py] = gradient(z,xa,ya);Px 4.t=0:0.01:1.5;x=log(cos(t));y=cos(t)-t.*sin(t);dydx=gradient(y,x) [x_1,id]=min(abs(x-(-1)));%找最接近x=-1的点 dydx(id)5.(1)(2)fun=inline('exp(2*x).*cos(x).^3');quadl(fun,0,2*pi)(3)fun=@(x)x.*log(x.^4).*asin(1./x.^2);quadl(fun,1,3)(4)fun=@(x)sin(x)./x; quadl(fun,1e-10,1)%注意由于下限为0,被积函数没有意义,用很小的1e-10代替(5)(6)fun=inline('sqrt(1+r.^2.*sin(th))','r','th');dblquad(fun,0,1,0,2*pi)(7)首先建立84页函数dblquad2 clear; fun=@(x,y)1+x+y.^2;clo=@(x)-sqrt(2*x-x.^2);dup=@(x)sqrt(2*x-x.^2);dblquad2(fun,0,2,clo,dhi,100)%Exercise 6 t=linspace(0,2*pi,100);x=2*cos(t);y=3*sin(t); dx=gradient(x,t);dy=gradient(y,t);f=sqrt(dx.^2+dy.^2);trapz(t,f)10(1)(2) %先在程序编辑器,写下列函数,保存为ex5_10_2f function d=ex5_10_2f(fname,a,h0,e) h=h0;d=(feval(fname,a+h)-2*feval(fname,a)+feval(fname,a-h))/(h*h);d0=d+2*e; while abs(d-d0)>e d0=d;h0=h;h=h0/2; d=(feval(fname,a+h)-2*feval(fname,a)+feval(fname,a-h))/(h*h);end %再在指令窗口执行 fun=inline('x.^2*sin(x.^2-x-2)','x');d=ex5_10_2f(fun,1.4,0.1,1e-3)13.fun=inline('5400*v./(8.276*v.^2+2000)','v');quadl(fun,15,30) 实验一 一元函数微分学 实验1 一元函数的图形(基础实验) 实验目的 通过图形加深对函数及其性质的认识与理解, 掌握运用函数的图形来观察和分析 函数的有关特性与变化趋势的方法,建立数形结合的思想;掌握用Matlab作平面曲线图性的方法与技巧.初等函数的图形 1.1 作出函数ytanx和ycotx的图形观察其周期性和变化趋势.x=-2*pi:0.1:2*pi;y1=tan(x);y2=cot(x);plot(x,y1,x,y2);axis([-10,10,-10,10])1.2将函数ysinx,yx,yarcsinx的图形作在同一坐标系内, 观察直接函数和反函数的图形间的关系.x1=-2*pi:0.1:2*pi;y1=sin(x1);y2=x1;x2=-1:0.1:1;y3=asin(x2);plot(x1,y1,x1,y2,x2,y3); axis([-5,5,-5,5])1.3给定函数 5x2x3x4 f(x)55x5x2(a)画出f(x)在区间[4,4]上的图形;x=-4:0.1:4;y=(5+x.^2+x.^3+x.^4)./(5+5*x+5*x.^2);plot(x,y);axis([-4,4,-4,4])(b)画出区间[4,4]上f(x)与sin(x)f(x)的图形.x=-4:0.1:4;y1=(5+x.^2+x.^3+x.^4)./(5+5*x+5*x.^2);y2=sin(x).*y1; plot(x,y1,x,y2);axis([-4,4,-4,4]) 1.4 在区间[1,1]画出函数ysinx=-1:0.01:1;y=sin(1./x);plot(x,y) 1.5 作出以参数方程x2cost,ysint(0t2)所表示的曲线的图形.t=0:0.1:2*pi;x=2*cos(t);y=sin(t);plot(x,y,0,x,x,0)1.6分别作出星形线x2co3ts,y2si3tn(0t2)和摆线x2(tsint),1的图形.xy2(1cost)(0t4)的图形.程序1:t=0:0.1:2*pi;x=2*cos(t).^3;y=2*sin(t).^3;plot(x,y)程序2:t=0:0.1:4*pi;x=2*(t-sin(t));y=2*(1-cos(t));plot(x,y);axis([0,4*pi,0,5])x(t)costcos5t1.7 画出参数方程的图形: y(t)sintcos3tt=-pi/2:0.01:pi/2;x=cos(t).*cos(5*t);y=sin(t).*cos(3*t);plot(x,y)1.8 作出极坐标方程为r2(1cost)的曲线的图形.t=-2*pi:0.1:2*pi;r=2*(1-cos(t));polar(t,r) 1.9 作出极坐标方程为ret/10的对数螺线的图形.t=-2*pi:0.1:2*pi;r=exp(t./10);polar(t,r) 1.10作出由方程x3y33xy所确定的隐函数的图形(笛卡儿叶形线).ezplot('x^3+y^3-3*x*y') 1.11 分别作出取整函数y[x]和函数yx[x]的图形.程序1:ezplot('y-fix(x)',[-5,5]);grid on; 程序2:ezplot('y-x+fix(x)',[-5,5]); Grid on; 1.12 作出符号函数ysgnx的图形.ezplot('y-sign(x)',[-5,5]);grid on 12xsin,x01.13作出分段函数f(x)的图形.x0,x0 plot([-4:0],ones(length(-4:0))*(-1),'-',[0],ones(length(0))*0,[0:4],ones(length(0:4))*1) axis([-5 5-2 2]) 1.14 制作函数sincx的图形动画, 观察参数c对函数图形的影响.x=0:0.1:2*pi;for i=1:30;y=sin(i*x);plot(x,y);grid on;pause(0.1);end 1.15作出函数f(x)x2sincx的图形动画,观察参数c对函数图形的影响.x=-2*pi:0.1:2*pi; for b=1:100;c=0.1*b;y=x.^2+sin(c*x); plot(x,y); temp=['c=',num2str(c)]; title(temp); grid on;pause(0.1);end 实验2 极限与连续(基础实验) 实验目的 通过计算与作图, 从直观上揭示极限的本质,加深对极限概念的理解.掌握用 Matlab画散点图, 以及计算极限的方法.深入理解函数连续的概念,熟悉几种间断点的图形 特征,理解闭区间上连续函数的几个重要性质.作散点图 2.1 观察数列{nn}的前100项变化趋势.n=1:100;x=nthroot(n,n);stem(n,x) 12.2通过动画观察当n时数列an2的变化趋势.nfor n=1:inf an=1/n.^2;plot(n,an,’o’);grid on;hold on;end 2.3 设x12,xn12xn.从初值x12出发, 可以将数列一项一项地计算出来.format long,x=2^0.5;for i=1:10 x=(2+x).^0.5 end x = 1.84775906502257 x = 1.96***6 x = 1.99036945334439 x = 1.99759091241034 x = 1.99939763739241 x = 1.99984940367829 x = 1.99996235056520 x = 1.99999058761915 x = 1.99999764690340 x = 1.99999941172576 2.4在区间[4,4]上作出函数f(x)究 xx39x的图形, 并研x3xlimf(x)和 limf(x).x1x=-4:0.1:4;y=(x.^3-9*x)./(x.^3-x);plot(x,y); grid on;syms x;limit((x.^3-9*x)./(x.^3-x),x,inf)limit((x.^3-9*x)./(x.^3-x),x,1) ans =1 ans =NaN 12.5观察函数f(x)2sinx当x时的变化趋x势.x=0:0.1;inf;y=1/x.^2.*sin(x);plot(x,y)1112.6设数列xn333.计算这个数列的12n前30项的近似值.作散点图, 观察点的变化趋势.sum=0; for n=1:30 sum=sum+1/(n^3); plot(n,sum,'o'); grid on; hold on;end 13xn1.可以证明:这个数列的极限是3.计算这个数列的前 2xn130项的近似值.作散点图, 观察点的变化趋势.2.7定义数列x01,xn tempn=1; for n=1:29 tempn=(tempn+3/tempn)/2; plot(n,tempn,'o'); grid on; hold on; end 2.8计算极限 11x2(1)limxsinsinx (2)limx x0xexxtanxsinx (4)limxx(3)lim3x0x0xlncotx (6)limx2lnx(5)limx0x0lnx3x32x25sinxxcosx (8)lim(7)limx5x32x1x0x2sinx ee2xsinx1cosx (10)lim(9)limx0xx0xsinx syms x;(1)limit(x.*sin(1./x)+1./x*sin(x),x,0)=1(2)limit((x.^2)/exp(x),x,+inf)=0(3)limit((tan(x)-sin(x))./x.^3,x,0)=1/2(4)limit(x.^x,x,+0)=1(5)limit(log(cot(x))/log(x),x,+0)=-1(6)limit(x.^2*log(x),x,+0)=0(7)limit((sin(x)-x.*cos(x))/(x.^2.*sin(x)),x,0)=1/3(8)limit((3*x^3-2*x^2+5)/(5*x^3+2*x+1),x,0)=5(9)limit((exp(x)-exp(-x)-2*x)/(x-sin(x)),x,0)=2(10)limit((sin(x)/x)^(1/(1-cos(x))),x,0)= 1/exp(1/3) xx1实验3 导数(基础实验) 实验目的 深入理解导数与微分的概念, 导数的几何意义.掌握用Matlab求导数与高 阶导数的方法.深入理解和掌握求隐函数的导数, 以及求由参数方程定义的函数的导数的方法.导数概念与导数的几何意义 3.1作函数f(x)2x33x212x7的图形和在x1处的切线.syms x;diff(2*x^3+3*x^2-12*x+7)y=6*x^2+6*x-12;x=-4:0.1:4;y1=2*x.^3+3*x.^2-12*x+7;y2=-12*(x+1)+20;plot(x,y1,x,y2) 13.2求函数f(x)sinaxcosbx的一阶导数.并求f.absyms a b x;diff(sin(a*x)*cos(b*x)) function y=f1(x)syms a b real;y=cos(a*x)*a*cos(b*x)-sin(a*x)*sin(b*x)*b; y=f1(1/(a+b)) ans = cos(a*x)*a*cos(b*x)-sin(a*x)*sin(b*x)*b y = cos(a/(a+b))*a*cos(b/(a+b))-sin(a/(a+b))*sin(b/(a+b))*b 3.3求函数yx102(x10)9的1阶到11阶导数.syms x;for n=1:11; diff(x^10+2*(x-9)^9,x,n)end ans = 10*x^9+18*(x-9)^8 ans = 90*x^8+144*(x-9)^7 ans = 720*x^7+1008*(x-9)^6 ans = 5040*x^6+6048*(x-9)^5 ans = 30240*x^5+30240*(x-9)^4 ans = 151200*x^4+120960*(x-9)^3 ans = 604800*x^3+362880*(x-9)^2 ans = 1814400*x^2+725760*x-6531840 ans = 3628800*x+725760 ans = 3628800 ans = 0 3.求隐函数的导数及由参数方程定义的函数的导数 3.4求由方程2x22xyy2x2y10确定的隐函数的导数.syms x y;f=2*x^2-2*x*y+y^2+x+2*y+1;dx=diff(f,x);dy=diff(f,y);dy_dx=-dx/dy dy_dx =(-4*x+2*y-1)/(-2*x+2*y+2)3.5求由参数方程xetcost,yetsint确定的函数的导数.syms t;x=exp(t)*cos(t);y=exp(t)*sin(t);dy_dx=diff(y,t)/diff(x,t) dy_dx =(exp(t)*sin(t)+exp(t)*cos(t))/(exp(t)*cos(t)-exp(t)*sin(t))拉格朗日中值定理 3.6对函数f(x)x(x1)(x2),观察罗尔定理的几何意义.(1)画出yf(x)与f(x)的图形, 并求出x1与x2.(2)画出yf(x)及其在点(x1,f(x1))与(x2,f(x2))处的切线.syms x;diff(x*(x-1)*(x-2)) solve('(x-1)*(x-2)+x*(x-2)+x*(x-1)') x=-2:0.1:4;y1=x.*(x-1).*(x-2);y2=(x-1).*(x-2)+x.*(x-2)+x.*(x-1);plot(x,y1,x,y2) x=0:0.1:2;y1=x.*(x-1).*(x-2);y2=0.3849+0*x;y3=-0.3849+0*x;plot(x,y1,x,y2,'-',x,y3,'-')axis([0 2-0.5 0.5]) ans = [ 1+1/3*3^(1/2)] [ 1-1/3*3^(1/2)] 3.7 对函数f(x)ln(1x)在区间[0,4]上观察拉格朗日中值定理的几何意义.(1)画出yf(x)及其左、右端点连线的图形;f(4)f(0)(2)画出函数yf(x)的曲线图, 并求出使得 40f(4)f(0)f().40(3)画出yf(x),它在处的切线及它在左、右端点连线的图形.syms x;f=log(1+x);x=0:0.01:4;plot(x,eval(f));hold on;line([0,4],[0,eval(sym('log(5)'))],'color','r','linewidth',2);y=diff(f)-sym('log(5)')/4;ezplot(y);k=sym('log(5)')/4;X=solve(y);b=log(1+eval(X));plot(x,eval(k)*(x-eval(X))+b,'r');hold off;axis([0,4,0,1.7]);grid on;title('拉格朗日中值定理');gtext(['y=',char(f)]);gtext(['y=',char(y)]); gtext(['切线']);3.8求下列函数的导数:(1)ye3x1x; (2)yln[tan()]; 24(1)syms x; diff(exp((x+1)^(1/3))) ans =1/3/(x+1)^(2/3)*exp((x+1)^(1/3))(2)syms x; diff(log(tan(x/2+pi/4)))ans =(1/2+1/2*tan(1/2*x+1/4*pi)^2)/tan(1/2*x+1/4*pi) 3.9求下列函数的微分:(1)y2; (2)yln(xx2a2).(1)syms x; diff(2^(-1/cos(x))) ans =-2^(-1/cos(x))/cos(x)^2*sin(x)*log(2)(2)syms x; syms a real; diff(log(x+(x^2+a^2)^0.5)) ans =(1+1/(x^2+a^2)^(1/2)*x)/(x+(x^2+a^2)^(1/2)) 3.10求下列函数的一、二阶导数:(1)yln[f(x)]; (2)yf(ex)ef(x).ans= 1/f(x)*f’(x) -1/(f(x))^2*f’’(x) 3.11求下列函数的高阶导数:(1)yxsinhx,求y(100); (2)yx2cosx,求y(10);(1) syms x;diff(x*sinh(x),100)ans =100*cosh(x)+x*sinh(x)(2) syms x;diff(x^2*cos(x),10)ans =90*cos(x)-20*x*sin(x)-x^2*cos(x) 3.18求由下列方程所确定的隐函数yy(x)的导数:(1)lnxeyx1cosxe; (2)arctanylnx2y2.x(1) syms x y;f=log(x)+exp(-y/x)-exp(1); fx=diff(f,x);fy=diff(f,y);dy_dx=-fx/fy ans =-(-1/x-y/x^2*exp(-y/x))*x/exp(-y/x)(2) syms x y;f=atan(y/x)-log((x^2+y^2)^0.5); fx=diff(f,x);fy=diff(f,y);dy_dx=-fx/fy;simplify(dy_dx)ans =(y+x)/(x-y) 3.19求由下列参数方程确定的函数的导数: 6tx,31t3xcost,(1) (2) 236tysint;y.1t3 (1) syms t;x=diff(cos(t)^3,t); y=diff(sin(t)^3,t);dy_dx=y/x ans =-sin(t)/cos(t)(2) syms t;x=diff(6*t/(1+t^3),t);y=diff(6*t^2/(1+t^3),t); dy_dx=y/x;simplify(dy_dx) ans =t*(-2+t^3)/(-1+2*t^3) 实验4 导数的应用(基础实验) 实验目的 理解并掌握用函数的导数确定函数的单调区间、凹凸区间和函数的极值的方法.理解曲线 的曲率圆和曲率的概念.进一步熟悉和掌握用Matlab作平面图形的方法和技巧.掌握用 Matlab求方程的根(包括近似根)和求函数极值(包括近似极值)的方法.求函数的单调区间 4.1求函数yx32x1的单调区间.syms x;diff(x^3-2*x+1)solve('3*x^2-2')ans =3*x^2-2 ans =1/3*6^(1/2) -1/3*6^(1/2)求函数的极值 x4.2求函数y的极值.1x2syms x;diff(x/(1+x^2)) solve('1/(1+x^2)-2*x^2/(1+x^2)^2')ans =1/(1+x^2)-2*x^2/(1+x^2)^2 ans =[ 1][-1] 求函数的凹凸区间和拐点 14.3 求函数y的凹凸区间和拐点.12x2syms x;diff(1/(1+2*x^2),2) solve('32/(1+2*x^2)^3*x^2-4/(1+2*x^2)^2') x=-1:0.1:1;y1=32./(1+2*x.^2).^3.*x.^2-4./(1+2*x.^2).^2;y2=0*x;plot(x,y1,x,y2,'-')ans = 32/(1+2*x^2)^3*x^2-4/(1+2*x^2)^2 ans = [ 1/6*6^(1/2)] [-1/6*6^(1/2)] 10 4.4 已知函数 16254x2x5x60x3150x2180x25, 22在区间[6,6]上画出函数f(x),f(x),f(x)的图形, 并找出所有的驻点和拐点.disp('输入函数(自变量为x)');f(x)syms x;f=input('函数f(x)=');df=diff(f);cdf=char(df);a=[];count=0;clf;if(strfind(cdf,'x')) sf=solve(df); ezplot(df); gtext(['y''=',char(df)]); disp(['y''=',char(df)]); count=count+1; legend('一阶导'); hold on; for i=1:size(sf); a(i)=sf(i); end a=sort(a); if(numel(a)~=0&numel(a)~=1&numel(a)~=inf) for i=1:numel(sf); strstart='-inf'; strend='+inf'; if(i==1) x=a(i)-1; x0=Eval(df); strend=num2str(a(i));if(x0<0)disp(['单调减区间','[',strstart,',',strend,']']);else disp(['单调增区间','[',strstart,',',strend,']']); end end if(i==numel(sf)) x=a(i)+a(i-1); x0=Eval(df); x=a(i)+1; x1=Eval(df); strstart=num2str(a(i)); x=a(i); y=Eval(f); else if(i==1) x=a(i)-1; else x=a(i)-a(i-1);11 end x0=Eval(df); x=(a(i)+a(i+1))/2; x1=Eval(df); strstart=num2str(a(i)); strend=num2str(a(i+1)); x=a(i); y=Eval(f); end if(x1<0)disp(['单调减区间','[',strstart,',',strend,']']); if(x0>0)disp(['驻点:极大值','x=',num2str(a(i)),',y=',num2str(y)]); end else disp(['单调增区间','[',strstart,',',strend,']']); if(x0<0)disp(['驻点:极小值','x=',num2str(a(i)),',y=',num2str(y)]); end ddf=diff(df); cddf=char(ddf); if(strfind(cddf,'x')) ssf=solve(ddf); ezplot(ddf); gtext(['y''''=',char(ddf)]); disp(['y''''=',char(ddf)]); count=count+1; b=[]; for i=1:size(ssf); b(i)=ssf(i); end b=sort(b); if(numel(b)~=0&numel(b)~=1&numel(b)~=inf) for i=1:numel(ssf); strstart='-inf'; strend='+inf'; end end end if(i==1) x=b(i)-1; x0=Eval(ddf); strend=num2str(b(i)); if(x0<0) disp(['单调凸区间','[',strstart,',',strend,']']); disp(['拐点','x=',num2str(b(i))]); else disp(['单调凹区间','[',strstart,',',strend,']']); disp(['拐点','x=',num2str(b(i))]); end end if(i==numel(ssf)) x=b(i)+b(i-1);12 x0=Eval(ddf); x=b(i)+1; x1=Eval(ddf); strstart=num2str(b(i)); else if(i==1) x=b(i)-1; else x=b(i)-b(i-1); end x0=Eval(ddf); x=(b(i)+b(i+1))/2; x1=Eval(ddf); strstart=num2str(b(i)); strend=num2str(b(i+1)); end if(x1<0) disp(['单调凸区间','[',strstart,',',strend,']']); disp(['拐点','x=',num2str(b(i))]); else disp(['单调凹区间','[',strstart,',',strend,']']); disp(['拐点','x=',num2str(b(i))]); end end end elseif(numel(b)==1) disp(['拐点','x=',num2str(b(1))]); end end if(~(min(a)==[]|max(a)==[])) ezplot(f,[min(a)-1,max(a)+1]);else ezplot(f); gtext(['y=',char(f)]); disp(['y=',char(f)]); count=count+1;end switch count case 3 legend('一阶导','二阶导','原函数'); case 2 legend('一阶导','原函数'); case 1 legend('原函数');end title('连续函数的性质');grid on;hold off;运行结果:输入函数(自变量为x) 函数f(x)=x^6/2-2*x^5-25*x^4/2+60*x^3-150*x^2-180*x-25 y'=3*x^5-10*x^4-50*x^3+180*x^2-300*x-180 单调增区间[-inf,-0.4591] 单调减区间[-0.4591,1.5529-1.8228i] 13 驻点:极大值x=-0.4591,y=19.7063 单调减区间[1.5529-1.8228i,1.5529+1.8228i] 驻点:极大值x=1.5529-1.8228i,y=-378.8847+558.3244i 单调增区间[1.5529+1.8228i,-4.4431] 驻点:极小值x=1.5529+1.8228i,y=-378.8847-558.3244i 单调减区间[-4.4431,5.1297] 驻点:极大值x=-4.4431,y=-5010.7825 单调增区间[5.1297,+inf] 驻点:极小值x=5.1297,y=-3445.4274 y''=15*x^4-40*x^3-150*x^2+360*x-300 单调凸区间[-inf,0.96967-0.77693i] 拐点x=0.96967-0.77693i 单调凸区间[0.96967-0.77693i,0.96967+0.77693i] 拐点x=0.96967-0.77693i 单调凸区间[0.96967+0.77693i,-3.2539] 拐点x=0.96967+0.77693i 单调凸区间[-3.2539,3.9812] 拐点x=-3.2539 单调凹区间[3.9812,+inf] 拐点x=3.9812 y=1/2*x^6-2*x^5-25/2*x^4+60*x^3-150*x^2-180*x-25 求极值的近似值 4.5求函数y2sin2(2x)5xxcos2的位于区间(0,)内的极值的近似值.22即得到函数y的两个极小值和极小值点.再转化成函数y的极大值和极大值点.两种方法的结 果是完全相同的.function y=f(x)y=2*sin(2*x)*sin(2*x)+5/2*x*cos(x/2)*cos(x/2);ezplot(y,[0,pi]);grid;x=fminbnd('f1(x)',0.5,2.5)f1(x)x=fminbnd('-f1(x)',0,pi)f1(x)x=fminbnd('-f1(x)',1.5,pi)f1(x)极小值点x = 1.6239 ans = 1.9446 极大值点x = 0.8642 ans = 3.7323 极大值点x = 2.2449 ans = 2.9571 项目二 一元函数积分学与空间图形的画法 实验1 一元函数积分学(基础实验) 实验目的掌握用Matlab计算不定积分与定积分的方法.通过作图和观察, 深入理解 定积分的概念和思想方法.初步了解定积分的近似计算方法.理解变上限积分的概念.提高应用 定积分解决各种问题的能力.用定义计算定积分 当f(x)在[a,b]上连续时, 有 因此可将 babaf(x)dxlimnnbank0n1(ba)bafaklimnnnnakfk1n(ba) nk0n1(ba)bafak 与 nnakfk1(ba) n作为baf(x)dx的近似值.1.1 计算1sin0xxdx的近似值.fun=inline('sin(x)./x','x');y=quad(fun,0,1)y =0.9461 1.2 用定义求定积分示.bax2dx的动画演m=moviein(10)for a=1:10 for n=20:30 x=linspace(0,4,n+1);y=x.^2;for i=1:n fill([x(i),x(i+1),x(i+1),x(i)],[0,0,y(i),y(i)],'b')hold on end plot(x,y)m(:,a)=getframe;end movie(m,1,1)end 不定积分计算 1.3求x2(1x3)5dx.syms x;int(x^2*(1-x^3)^5) ans =-1/18*x^18+1/3*x^15-5/6*x^12+10/9*x^9-5/6*x^6+1/3*x^3 1.4求sinxdx.xsyms x;int(sin(x)*x)ans = sin(x)-x*cos(x) 定积分计算 1.5 求4010(xx2)dx.syms x;int(x-x^2,0,1)ans = 1/6 1.6 求|x2|dx.syms x;int(abs(x-2),0,4)ans = 4 变上限积分 1.7 画出变上限函数形.syms t;int(t*(sin(t))^2,0,x) x=-2*pi:0.1:2*pi;y1=x.*(sin(x)).^2;y2=-1/2*x.*cos(x).*sin(x)+1/4*x.^2+1/4*sin(x).^2;plot(x,y1,x,y2) 求平面图形的面积 1.8 设f(x)e(x2)cosx和g(x)4cos(x2).计算区间[0,4]上两曲线所围成的平面的面 积.fun=inline('abs(exp(-((x-2).^2).*cos(pi*x))-4*cos(x-2))','x');y=quad(fun,0,4) y = 6.4774 求平面曲线的弧长 1.9 f(x)sin(xxsinx),计算(0,f(0))与(2,f(2))两点间曲线的弧长.fun=inline('(1+(cos(x+sin(x)).*(1+cos(x))).^2).^0.5','x');y=quad(fun,0,2*pi)y = 7.9062 求旋转体的体积 1.10 求曲线g(x)xsin2x(0x)与x轴所围成的图形分别绕x轴和y轴旋转所成的旋 转体体积.fun=inline('pi*(x.*(sin(x).^2)).^2','x');y=quad(fun,0,pi)fun=inline('2*pi*x.^2.*(sin(x).^2)','x');y=quad(fun,0,pi)y =9.8629 y =27.5349 2x0tsint2dt及其导函数的图 实验2 空间图形的画法(基础实验) 实验目的掌握用Matlab绘制空间曲面和曲线的方法.熟悉常用空间曲线和空间曲面 的图形特征,通过作图和观察, 提高空间想像能力.深入理解二次曲面方程及其图形.一般二元函数作图 42.1作出函数z的图形.21xy2 a=10;step=0.5;x=-a:step:a;y=x;[x,y]=meshgrid(x);z=4./(1+x.^2+y.^2);mesh(x,y,z); 2.2 作出函数zxyex a=5;step=0.3;x=-a:step:a;y=x;[x,y]=meshgrid(x);z=-x.*y.*exp(-(x.^2+y.^2));surf(x,y,z); 二次曲面 2y2的图形.x2y2z22.3作出椭球面1的图形.491(这是多值函数, 用参数方程作图的命令ParametricPlot3D.该曲面的参数方程为 syms u v;u=0:0.2:2*pi;[u,v]=meshgrid(u);x=2.*sin(u).*cos(v);y=3.*sin(u).*sin(v);z=cos(u);mesh(x,y,z) x2y2z22.4作出单叶双曲面1的图形.(曲面的参数方程为 149xsecusinv,y2secucosv,z3tanu,(/2u/2,0v2.)) syms u v;u=-pi/2:0.2:pi/2;v=0:0.2:2*pi;[u,v]=meshgrid(u,v);x=sec(u).*sin(v);y=2.*sec(u).*cos(v);z=3*tan(u);mesh(x,y,z);axis([-10,10,-10,10,-10,10]);view(-7,60);x2y2z 22.5 作双叶双曲面1的图1.521.421.32形.(曲面的参数方程是 x1.5cotucosv,y1.4cotusinv,z1.3cscu, 其中参数0u2对应双叶双曲面的另一叶.) syms u v; u=0:0.2:pi/2;v=-pi:0.2:pi;,v时对应双叶双曲面的一叶, 参数2u0,v时[u,v]=meshgrid(u,v);x=3*cot(u).*cos(v);y=5*cot(u).*sin(v);z=2*csc(u);mesh(x,y,z);hold on;u=-pi/2:0.2:0;v=-pi:0.2:pi;[u,v]=meshgrid(u,v);x=3*cot(u).*cos(v);y=5*cot(u).*sin(v);z=2*csc(u);mesh(x,y,z); hold off;2.6作出圆环 x(83cosv)cosu,y(83cosv)sinu,z7sinv,(0u3/2,/2v2)的图形.syms u v; u=0:0.2:pi/2;v=-pi:0.2:pi;[u,v]=meshgrid(u,v);x=3*cot(u).*cos(v);y=5*cot(u).*sin(v);z=2*csc(u);mesh(x,y,z);hold on;u=-pi/2:0.2:0;v=-pi:0.2:pi;[u,v]=meshgrid(u,v);x=3*cot(u).*cos(v);y=5*cot(u).*sin(v);z=2*csc(u);mesh(x,y,z); hold off;2.7 画出参数曲面 xcosusinvysinusinvzcosvln(tanv/2u/5)的图形.u=0:0.1:4*pi;v=0.001:0.1:2;[u,v]=meshgrid(u,v);x=cos(u).*sin(v);y=sin(u).*sin(v);z=cos(v)+log(tan(v/2)+u/5);surf(x,y,z) u[0,4],v[0.001,2] 曲面相交 2.8作出球面x2y2z222和柱面(x1)2y21相交的图形.u=0:0.1:2*pi;v=0:0.1:pi;[u,v]=meshgrid(u,v);x=2*cos(v).*sin(u);y=2*sin(v).*sin(u);z=2*cos(u);surf(x,y,z)hold on t=0:0.1:2*pi;c=0:0.1:2;[t,c]=meshgrid(t,c);a=1+cos(t);b=sin(t);surf(a,b,c)2.9作出锥面x2y2z2和柱面(x1)2y21相交的图形.u=0:0.1:2*pi;v=0:0.1:2; [u,v]=meshgrid(u,v);x=cos(u).*v;y=sin(u).*v; z=v; surf(x,y,z) hold on t=0:0.1:2.1*pi;c=0:0.1:2; [t,c]=meshgrid(t,c);a=1+cos(t);b=sin(t); surf(a,b,c)2.10 画出以平面曲线ycosx为准线, 母线平行于Z轴的柱面的图形.(写出这一曲面的参数方程为 xtycost,t[,],sR zs取参数s的范围为[0, 8].) t=-pi:0.1:pi;s=0:0.1:8; [t,s]=meshgrid(t,s);x=t;y=cos(t);z=s; surf(x,y,z) 空间曲线 xsint2.11绘制参数曲线 y2cost 的图形.zt/2t=-4*pi:0.1:4*pi;x=sin(t);y=2*cos(t);z=t/2;plot3(x,y,z,’r’)grid on xcos2t12.12绘制参数曲线 y的图形.12tzarctantt=-2*pi:0.1:2*pi;x=(cos(t)).^2;y=1./(1+2*t);z=atan(t);plot3(x,y,z)grid on 动画制作 2.13用动画演示由曲线ysinz,z[0,]绕z轴旋转产生旋转曲面的过程.(该曲线绕z轴旋转所得旋转曲面的方程为x2y2sin2z, 其参数方程为 xsinzcosu,ysinzsinu,zz,(z[0,],u[0,2])) m=moviein(10); for i=1:10 u=0:0.1:pi/5*(i+0.2); v=0:0.1:pi; [u,v]=meshgrid(u,v);x=sin(v).*cos(u);y=sin(v).*sin(u);z=v; mesh(x,y,z) m(:,i)=getframe; end movie(m,1); 项目三 多元函数微积分 实验1 多元函数微分学(基础实验) 实验目的掌握利用Matlab计算多元函数偏导数和全微分的方法, 掌握计算二元 函数极值和条件极值的方法.理解和掌握曲面的切平面的作法.通过作图和观察, 理解二元 函数的性质、方向导数、梯度和等高线的概念.求多元函数的偏导数与全微分 zz2z2z,,.xyx2xysyms x y;z=sin(x*y)+cos(x*y)^2;zx=diff(z,x) zy=diff(z,y) zzxx=diff(z,x,2)zzxy=diff(zx,y)1.1设zsin(xy)cos2(xy),求 zx =cos(x*y)*y-2*cos(x*y)*sin(x*y)*y zy =cos(x*y)*x-2*cos(x*y)*sin(x*y)*x zzxx =-sin(x*y)*y^2+2*sin(x*y)^2*y^2-2*cos(x*y)^2*y^2 zzxy =-sin(x*y)*x*y+cos(x*y)+2*sin(x*y)^2*x*y-2*cos(x*y)^2*x*y-2*cos(x*y)*sin(x*y) uuvv1.2设xeuusinv,yeuucosv,求,,.xyxysyms x y u v;f1=exp(u)+u*sin(v)-x; f2=exp(u)-u*cos(v)-y; f1u=diff(f1,u); f1v=diff(f1,v); fx=diff(f1,x);f2u=diff(f2,u);f2v=diff(f2,v);fy=diff(f2,y);ux=-fx/f1u uy=-fy/f2u vx=-fx/f1v vy=-fy/f2v ux = 1/(exp(u)+sin(v))uy = 1/(exp(u)-cos(v))vx = 1/u/cos(v)vy = 1/u/sin(v)微分学的几何应用 1.3 求出曲面z2x2y2在点(1,1)处的切平面、法线方程, 并画出图形.[x,y]=meshgrid(-5:0.1:5);z=2.*x.^2+y.^2;mesh(x,y,z)hold on [x,y]=meshgrid(-10:0.1:10);z=4*x+2*y-3;plot3(x,y,z)hold on line([41,-39],[21,-19],[-7,13])axis([-20 20-20 20-40 40]) 41.4求曲面k(x,y)2在点xy211164,处的切平面方程, 并把曲面和它的4221切平面作在同一图形里.syms x y k; df_dx=diff(4/(x^2+y^2+1),x) df_dy=diff(4/(x^2+y^2+1),y) a=linspace(-10,10,100); b=a; [a,b]=meshgrid(a,b); c=4./(a.^2+b.^2+1); d=-8/((1/4)^2+(1/2)^2+1)^2*(1/4); e=-8/((1/4)^2+(1/2)^2+1)^2*(1/2); f=d.*(a-1/4)+e.*(b-1/2)+64/21; mesh(a,b,c); hold on; mesh(a,b,f); axis([-10,10,-10,10,-2,5]); 多元函数的极值 1.5求f(x,y)x3y33x23y29x的极值.syms x y;f=x^3-y^3+3*x^2+3*y^2-9*x;fx=diff(f,x)fy=diff(f,y)fxx=diff(fx,x)fxy=diff(fx,y)fyy=diff(fy,y) 1.6 求函数zx2y2在条件x2y2xy10下的极值.syms x y m;z=x^2+y^2;df_dy=diff(z,y);df_dx=diff(z,x);q=x^2+y^2+x+y-1;dq_dx=diff(q,x);dq_dy=diff(q,y);[x,y,m]=solve(df_dx+m*dq_dx,df_dy+m*dq_dy,q) x =[-1+1/3*3^(1/2)][-1-1/3*3^(1/2)] y =[-1/2+1/2*3^(1/2)][-1/2-1/2*3^(1/2)] m =[-1/2+1/2*3^(1/2)][-1/2-1/2*3^(1/2)] 实验2 多元函数积分学(基础实验) 实验目的 掌握用Matlab计算二重积分与三重积分的方法;深入理解曲线积分、曲面积分的 概念和计算方法.提高应用重积分和曲线、曲面积分解决各种问题的能力.计算重积分 2.1计算xydxdy, 其中D为由xy2,x2Dy, y2所围成的有界区域.syms x y;int(int(x*y^2,x,2-y,y^0.5),y,1,2) ans =193/120 2.2计算(x2y2z)dxdydz, 其中由曲面z2x2y2与zx2y2围成.syms t r z;int(int(int((r^2+z)*r,z,r,(2-r^2)^0.5),r,0,1),t,0,2*pi) ans =2.1211 重积分的应用 2.3 求由曲面fx,y1xy与gx,y2x2y2所围成的空间区域的体积.syms t r;int(int((3/2-r^2)*r,r,0,(3/2)^0.5),t,0,2*pi)ans =3.5343 2.4 在Oxz平面内有一个半径为2的圆, 它与z轴在原点O相切, 求它绕z轴旋转一周所得旋转体体积.syms x;int(4*pi*x*(4-(x-2)^2)^0.5,x,0,4) ans =157.9137 计算曲线积分 2.5求 Lf(x,y,z)ds, 其中fx,y,z130x210y,积分路径为 L:xt,yt2,z3t2,0y2.(注意到,弧长微元dsxt2yt2zt2dt, 将曲线积分化为定积分)syms t;x=t;y=t^2;z=3*t^2;f=diff([x,y,z],t);fun=inline('((1+30*t.^2).^0.5+10*t.^2).*(1+40*t.^2).^0.5','t');quad(fun,0,2) ans =348.9428 2.6求F.dr, 其中 LFxy6i3x(xy52)j,r(t)2costisintj,0t2.syms t; x=cos(t); y=sin(t); int(x*y^6*(-2*sin(t))+3*x*(x*y^5+2)*cos(t),t,0,2*pi) ans = 6*pi 计算曲面积分 2.7计算曲面积分得的有限部分.222z2(注意到,面积微元dS1zxydxdy, 投影曲线xy2x的极坐标方程为 (xyyzzx)dS, 其中为锥面zx2y2被柱面x2y22x所截 2将曲面积分化作二重积分,并采用极坐标计算重积分.) syms t r; x=r*cos(t);24 r2cost,t2,y=r*sin(t); z=r; int(int((x*y+y*z+x*z)*r*2^0.5,r,0,2*cos(t)),t,-pi/2,pi/2) ans = 6.0340 2.8计算曲面积分x3dydzy3dzdxz3dxdy, 其中为球面x2y2x2a2的外侧.syms t s r;syms a real;int(int(int(3*r^4*sin(s),r,0,a),s,0,pi),t,0,2*pi) ans = 12/5*a^5*pi 实验3 最小二乘拟合(基础实验) 实验目的了解曲线拟合问题与最小二乘拟合原理.学会观察给定数表的散点图, 选择 恰当的曲线拟合该数表.最小二乘拟合原理 给定平面上的一组点 (xk,yk),k1,2,,n, 寻求一条曲线yf(x),使它较好的近似这组数据, 这就是曲线拟合.最小二乘法是进行曲线拟合的常用方法.最小二乘拟合的原理是, 求f(x),使 [f(x)ykk1nk]2 达到最小.拟合时, 选取适当的拟合函数形式 f(x)c00(x)c11(x)cmm(x),其中0(x),1(x),,m(x)称为拟合函数的基底函数.为使取到极小值, 将f(x)的表达式 代入, 对变量ci求函数的偏导数, 令其等于零, 就得到由m1个方程组成的方程组, 从中 可解出ci(i0,1,2,,m).曲线拟合 3.1 为研究某一化学反应过程中温度x(C)对产品得率y(%)的影响, 测得数据如下: x 100 110 120 130 140 150 160 170 180 190 y 45 51 54 61 66 70 74 78 85 89 试求其拟合曲线.x=[100,110,120,130,140,150,160,170,180,190]; y=[45,51,54,61,66,70,74,78,85,89]; a=polyfit(x,y,1) z=polyval(a,x); plot(x,y,'gp',x,z,'r'); a = 0.4830 -2.7394 即拟合曲线为:y=0.4830x-2.7394 3.2 给定平面上点的坐标如下表: x0.10.20.30.40.50.60.70.80.9 y5.12345.30575.56875.93786.43377.09787.94939.025310.3627试求其拟合曲线.x=[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9]; y=[5.1234,5.3057,5.5687,5.9378,6.4337,7.0978,7.9493,9.0253,10.3627]; a=polyfit(x,y,3) z=polyval(a,x); plot(x,y,'bp',x,z,'r'); a = 4.9875 0.6902 1.3202 4.9774 即拟合曲线为:y=4.9875x^3+0.6902x^2+1.3202x+4.9774 项目四 无穷级数与微分方程 实验1 无穷级数(基础实验) 实验目的 观察无穷级数部分和的变化趋势,进一步理解级数的审敛法以及幂级数部分和对函数的 逼近.掌握用Matlab求无穷级数的和, 求幂级数的收敛域, 展开函数为幂级数以及展 开周期函数为傅里叶级数的方法.数项级数 1.1(1)观察级数 x=0; for n=1:50; x=x+1/n^2; plot(n,x,’r*’) hold on end (2)观察级数势.nn112的部分和序列的变化趋势.n的部分和序列的变化趋n11 x=0; for n=1:100; x=x+1/n; plot(n,x,’r*’) hold on end 10n1.2 设an, 求n!an1n.s=10; for i=1:inf; s=s+s*10/(i+1); end s =5.2257e+086 求幂级数的收敛域 1.3 求n042n(x3)n的收敛域与和函数.n 1syms n x k; limit(4^(2*n)/(n+1)/(4^(2*n+2)/(n+2)),n,inf)%|x-3|<1/16 s=symsum(4^(2*n)*(x-3)^n/(n+1),n,0,inf)%-1/(x-3)*(x-3+1/16*log(49-16*x)) ans = 1/16 收敛域是[-1/16,1/16] s =-log(49-16*x)/(16*x-48) 函数的幂级数展开 1.4 求cosx的6阶麦克劳林展开式.syms x;taylor(cos(x),7) ans =1-1/2*x^2+1/24*x^4-1/720*x^6 1.5求arctanx的5阶泰勒展开式.syms x;taylor(atan(x)) ans =x-1/3*x^3+1/5*x^5 x12x1 21.6 求e在x1处的8阶泰勒展开, 并通过作图比较函数和它的近似多 syms x; t=taylor(exp(-(x-1)^2*(x+1)^2),9,1) ezplot(t); hold on;x1=-10:0.01:10;y=exp(-(x1-1).^2.*(x1+1).^2);plot(x1,y,'r'); axis([0,2,-1,1]);ans=1-4*(x-1)^2-4*(x-1)^3+ 7*(x-1)^4+16*(x-1)^5+ 4/3*(x-1)^6-28*(x-1)^7-173/6*(x-1)^8 实验2 微分方程(基础实验) 实验目的理解常微分方程解的概念以及积分曲线和方向场的概念,掌握利用 Matlab求微分方程及方程组解的常用命令和方法.求解微分方程 2.1求微分方程 y2xyxex的通解.y=dsolve('Dy+2*x*y=x*exp(-x^2)','x') y =(1/2*x^2+C1)*exp(-x^2)2.2求微分方程xyyex0在初始条件yx122e下的特解.y=dsolve('x*Dy+y=exp(x)','y(1)=2*exp(1)','x') y =(exp(x)+exp(1))/x 27 2.3求解微分方程y2xex, 并作出其积分曲线.y=dsolve('D2y-2*x=exp(x)','x') x=-2:0.1:2;y=1./3*x.^3+exp(x)+x+1;plot(x,y)dxtdtx2ye2.4求微分方程组在初始条件dyxy0dtxt01,yt00下的特解.[x y]=dsolve('Dx+x+2*y-exp(t)','Dy-x-y','x(0)=1','y(0)=0','t') x =cos(t) y =1/2*sin(t)-1/2*cos(t)+1/2*exp(t) 2.5求出初值问题 22yysinxycosx y(0)1,y(0)0的数值解, 并作出数值解的图形.function dy=ffer(x,y)dy=zeros(2,1);dy(1)=y(2);dy(2)=-y(2)*(sin(x))^2-y(1)+(cos(x))^2; [X,Y]=ode23s('ffer',[0 4],[1 0])plot(X,Y(:,1),'-') 2.6洛伦兹(Lorenz)方程组是由三个一阶微分方程组成的方程组.这三个方程看似简单, 也没有包含复杂的函数, 但它的解却很有趣和耐人寻味.试求解洛伦兹方程组 x(t)16y(t)16x(t)y(t)x(t)z(t)45x(t)y(t), z(t)x(t)y(t)4z(t)x(0)12,y(0)4,z(0)0并画出解曲线的图形.function dy=lorenz(t,y)dy=zeros(3,1);dy(1)=16*y(2)-16*y(1);dy(2)=-y(1)*y(3)+45*y(1)-y(2);dy(3)=y(1)*y(2)-4*y(3); [T,Y]=ode45('lorenz',[0 0.1],[12 4 0])plot(T,Y(:,1),'-',T,Y(:,2),'*',T,Y(:,3),'+') 项目五 矩阵运算与方程组求解 实验1 行列式与矩阵 实验目的 掌握矩阵的输入方法.掌握利用Matlab对矩阵进行转置、加、减、数乘、相乘、乘方等运算, 并能求矩阵的逆矩阵和计算方阵的行列式.矩阵A的转置函数Transpose[A] 131.1 求矩阵51 A' ans = 7242的转置.6314 A=[1 7 2;3 4 2;5 6 3;1 1 4];矩阵线性运算 1.1 设A345427,B192,求AB,4B2A.426A=[3 4 5;4 2 6]; B=[4 2 7;1 9 2]; A+B 4*B-2*A ans = ans = 0 -4 矩阵的乘法运算 42711.3 设A192,B0,求AB与BTA,并求A3.0351A=[4 2 7;1 9 2;0 3 5];B=[1 0 1]';A*B B'*A A^3 ans =11 ans = ans = 119 660 555 141 932 444 477 260 1113211.4设A111,B041,求3AB2A及ATB.123124A=[-1 1 1;1-1 1;1 2 3];B=[3 2 1;0 4 1;-1 2-4]; 3*A*B-2*A A'*B ans = -33 ans = 0 -10 求方阵的逆 251.5设A03132233,求A1.146215A=[2 1 3 2;5 2 3 3;0 1 4 6;3 2 1 5];inv(A)ans = -1.7500 1.3125 0.5000 -0.6875 5.5000 -3.6250 -2.0000 2.3750 0.5000 -0.1250 -0.0000 -0.1250 -1.2500 0.6875 0.5000 -0.3125 3x2yz7,1.6 解方程组xy3z6,2x4y4z2.a=[3 2 1;1-1 3;2 4-4];b=[7 6-2]';x=ab x = 1.0000 1.0000 2.0000 求方阵的行列式 1x121.7 计算范德蒙行列式x13x14x11x22x23x24x21x32x33x34x31x42x43x44x41x52.x53x54x5syms x1 x2 x3 x4 x5 A=[1,1,1,1,1;x1,x2,x3,x4,x5;x1^2,x2^2,x3^2,x4^2,x5^2;x1^3,x2^3,x3^3,x4^3,x5^3;x1^4,x2^4,x3^4,x4^4,x5^4];a=det(A);a=simple(a)a=(-x4+x3)*(x5-x4)*(x5-x3)*(x2-x4)*(x2-x3)*(x2-x5)*(-x4+x1)*(x1-x3)*(x1-x5)*(x1-x2) 371.8 设矩阵 A1125792462403, 求|A|,tr(A),A3.76569783790A=[3 7 2 6-4;7 9 4 2 0;11 5-6 9 3;2 7-8 3 7;5 7 9 0-6];det(A)A' A^3 ans = 11592 ans = 0 0 -6 ans = 726 2062 944 294 -358 1848 3150 1516 228 1713 2218 1006 404 1743 984 -451 1222 384 801 2666 477 745 -125 向量的内积 1.9求向量u{1,2,3}与v{1,1,0}的内积.u=[1 2 3];v=[1-1 0]'; u*v ans =-1 实验2 矩阵的秩与向量组的极大无关组 实验目的学习利用Matlab求矩阵的秩,作矩阵的初等行变换;求向量组的秩与极大无关组.求矩阵的秩 321322.1 设M21313, 求矩阵M的秩.70518m=[3 2-1-3-2;2-1 3 1-3;7 0 5-1-8];rank(m)ans =2 32132.2 已知矩阵M2131的秩等于2, 求常数t的值.70t1syms t;M=[3 2-1-3 1;2-1 3 1 1;7 0 t-1 1] m=rref(M) %分母为t-5,将5代入M M=[3 2-1-3 1;2-1 3 1 1;7 0 5-1 1];refm=rref(M)%所以t=5 解得 t=5 矩阵的初等行变换 22382.4 设A212212,求矩阵A的秩.1314A=[2-3 8 2;2 12-2 12;1 3 1 4];rank(A)ans =2 向量组的秩 2.5 求向量组1(1,2,1,1),3(0,4,5,2),2(2,0,3,0)的秩.a1=[1 2-1 1];a2=[0-4 5-2];a3=[2 0 3 0];rank([a1;a2;a3]) ans = 2 向量组的极大无关组 2.6求向量组 1(1,1,2,4),2(0,3,1,2),3(3,0,7,14),4(1,1,2,0),5(2,1,5,0)的极大无关组, 并将其它向量用极大无关组线性表示.33 a1=[1-1 2 4];a2=[0 3 1 2];a3=[3 0 7 14];a4=[1-1 2 0];a5=[2 1 5 0];rank([a1;a2;a3;a4;a5])rank([a1;a2;a3])rank([a1;a3;a4])rank([a1;a2;a4])ans = 3 ans = 2 ans = 3 ans = 3 向量组的等价 2.7设向量 1(2,1,1,3),2(3,2,1,2),1(5,8,5,12),2(4,5,3,7),求证:向量组1,2与1,2等价.a1=[2 1-1 3];a2=[3-2 1-2];b1=[-5 8-5 12];b2=[4-5 3-7];rank([a1;a2;b1;b2])rank([a1;a2])rank([b1;b2])rref([a1;a2])rref([b1;b2])ans =2 ans =2 ans =2 ans = 1.0000 0 -0.1429 0.5714 0 1.0000 -0.7143 1.8571 ans = 1.0000 0 -0.1429 0.5714 0 1.0000 -0.7143 1.8571 实验3 线性方程组 实验目的 熟悉求解线性方程组的常用命令,能利用Mathematica命令各类求线性方程 组的解.理解计算机求解的实用意义.x1x22x3x40,3xxx32x40,3.1求解线性方程组12 5x7x3x0,2342x13x25x3x40.a=[1 1-2-1;3-1-1 2;0 5 7 3;2-3-5-1];b=[0 0 0 0]';x=ab ans = 3.2向量组1(1,1,2,3),2(1,1,1,1),3(1,3,4,5),4(3,1,5,7)是否线性相关? a1=[1 1 2 3];a2=[1-1 1 1];a3=[1 3 4 5];a4=[3 1 5 7];rank([a1;a2;a3;a4]) ans = 线形无关 非齐次线性方程组的特解 x1x22x3x443x2x2x32x423.3求线性方程组15x27x33x422x13x25x3x44 的特解.A=[1 1-2-1;3-2-1 2;0 5 7 3;2-3-5-1];B=[4;2;2;4];C=[1 1-2-1 4;3-2-1 2 2;0 5 7 3 2;2-3-5-1 4]; % C为增广矩阵% rref(C) ans = 1.0000 0 0 0.6667 1.0000 0 1.0000 0 -0.3333 1.0000 0 0 1.0000 0.6667 -1.0000 0 0 0 0 0 由结果可以看出x4为自由未知量,方程组得解为: x1=-0.6667x4+1.0000 x2=0.3333 x4+ 1.0000 x3=-0.6667x4-1.0000 x1x22x3x443x2x2x32x423.4求线性方程组15x27x33x422x13x25x3x44B=[4;2;2;4]; 的特解.A=[1 1-2-1;3-2-1 2;0 5 7 3;2-3-5-1];C=[1 1-2-1 4;3-2-1 2 2;0 5 7 3 2;2-3-5-1 4]; % C为增广矩阵% rref(C) ans = 1.0000 0 0 0.6667 0 0 1.0000 0 -0.3333 0 0 0 1.0000 0.6667 0 0 0 0 0 1.0000 由结果可知,增广矩阵的秩与系数矩阵的秩不相等,故方程组无解。 3.5求出通过平面上三点(0,7),(1,6)和(2,9)的二次多项式ax2bxc,并画出其图形.A=[0 0 1;1 1 1;4 2 1];B=[7 6 9]';abc=inv(A)*B ezplot('2*x^2-3*x+7')abc = 3.6求出通过平面上三点(0,0),(1,1),(-1,3)以及满足f(1)20,f(1)9的4次多项式f(x).A=[0 0 0 0 1;1 1 1 1 1;1-1 1-1 1;-4 3-2 1 0;4 3 2 1 0];B=[0 1 3 20 9]';abcde=inv(A)*B abcde = -4.7500 7.7500 6.7500 -8.7500 0 非齐次线性方程组的通解 x1x22x3x412xx2x32x433.7解方程组1x1x3x423x1x23x45a=[1-1 2 1;2-1 1 2;1 0-1 1;3-1 0 3];b=[1;3;2;5];rref([a b]) ans = 0 0 0 0 0 0 0 0 0 0 0 0 0 由结果可以看出x3,x4为自由未知量,方程组得解为: x1=2+x3-x4;x2=1+3*x3;ax1x2x313.8当a为何值时,方程组x1ax2x31无解、有唯一解、有无穷多解?当方程组有 xxax1231解时,求通解.syms a;A=[a 1 1;1 a 1;1 1 a];Ab=[a 1 1 1;1 a 1 1;1 1 a 1];b=[1 1 1]';rref(A)%A的秩为3,rref(Ab)%增广矩阵的秩为3,所以a不等于-2时,方程组都有解,且只有唯一解 Ab1=[-2 1 1 1;1-2 1 1;1 1-2 1];rref(Ab1)%a=-2时,A的秩为2,增广矩阵的秩为3,无解 x=inv(A)*b %x即为a不等于-2时方程组的解 项目六 矩阵的特征值与特征向量 实验1 求矩阵的特征值与特征向量 实验目的 学习利用Mathematica(4.0以上版本)命令求方阵的特征值和特征向量;能利用软件计算方 阵的特征值和特征向量及求二次型的标准形.求方阵的特征值与特征向量.1021.1求矩阵A121.的特征值与特值向量.130A=[-1 0 2;1 2-1;1 3 0];[V D]=eig(A,'nobalance')V = 1.0000 1.00000.0000i 0.0000 1.00000.0000i 1231.2 求方阵M213的特征值和特征向量.336M=[1 2 3;2 1 3;3 3 6];[V D]=eig(M,'nobalance')V = 0.7071 0.5774 0.4082 -0.7071 0.5774 0.4082 0 -0.5774 0.8165 D = -1.0000 0 0 0 -0.0000 0 0 0 9.0000 3001.3已知2是方阵A1t3的特征值,求t.123syms t;A=[3 0 0;1 t 3;1 2 3];E=eig(A)solve(1/2*t+3/2-1/2*(t^2-6*t+33)^(1/2)-2)E = 1/2*t+3/2+1/2*(t^2-6*t+33)^(1/2)1/2*t+3/2-1/2*(t^2-6*t+33)^(1/2)ans = 8 2121.4 已知x(1,1,1)是方阵A5a3的一个特征向量,求参数a,b及特征向量x所1b2属的特征值.syms a b c;A=[2-c-1 2;5 a-c 3;-1 b-2-c];x=[1;1;-1];A*x [a b c]=solve('-1-c','2+a-c','1+b+c','a,b,c')ans = -1-c 2+a-c 1+b+c a =-3 b = 0 c =-1 矩阵的相似变换 4111.7设矩阵A222,求一可逆矩阵P,使P1AP为对角矩阵.222A=[4 1 1;2 2 2;2 2 2];[P D]=eig(A)P = 0.5774 0.5774 -0.0000 0.5774 -0.5774 -0.7071 0.5774 -0.5774 0.7071 D = 6.0000 0 0 0 2.0000 0 0 0 -0.0000 2001001.8已知方阵A2x2与B020相似, 求x,y.31100ysyms x;A=[-2 0 0;2 x 2;3 1 1];E=eig(A)y=-2 x=solve(1/2*x+1/2+1/2*(x^2-2*x+9)^(1/2)-2)y =-2 x = 0 011.9 对实对称矩阵A10110010,求一个正交阵P,使P1AP为对角阵.100002A=[0 1 1 0;1 0 1 0;1 1 0 0;0 0 0 2];[P D]=eig(A)P = -0.7152 0.3938 0.5774 0 0.0166 -0.8163 0.5774 0 0.6987 0.4225 0.5774 0 0 0 0 1.0000 D = -1.0000 0 0 0 0 -1.0000 0 0 0 0 2.0000 0 0 0 0 2.0000 1.10 求一个正交变换,化二次型f2x1x22x1x32x2x32x4为标准型.A=[0 1 1 0;1 0 1 0;1 1 0 0;0 0 0 2];[Q D]=eig(A)Q = -0.7152 0.3938 0.5774 0 0.0166 -0.8163 0.5774 0 0.6987 0.4225 0.5774 0 0 0 0 1.0000 D = -1.0000 0 0 0 0 -1.0000 0 0 0 0 2.0000 0 0 0 0 2.0000 1.11 已知二次型 222f(x1,x2,x3)x12x2x32x1x24x1x32x2x3 (1)求标准形;(2)求正惯性指数; (3)判断二次型是否正定.(1) A=[1 1-2;1-2 1;-2 1 1];[Q D]=eig(A) Q = 0.4082 0.5774 -0.7071 -0.8165 0.5774 -0.0000 0.4082 0.5774 0.7071 D = -3.0000 0 0 0 0.0000 0 0 0 3.0000(2)由对角矩阵D得,正惯性指数是1。(3)D=diag([-3,0,3]); if all(D>0) disp('二次型正定') else disp('二次型非正定') end 二次型非正定 Matlab学习心得 数学实验周我们学习了Matlab软件,这是一个十分实用和重要的软件。初次结识MATLAB,感觉这是一个很好的软件,语言简便,实用性强。作为一个新手,想要学习好这门语言,可以说还是比较难的。在我接触这门语言的这些天,一直在上面弄,除了会画几个简单的三维图形,其他的还是有待提高。在这个软件中,虽然有help。大家不要以为有了这个就万事大吉了,反而,从另一个方面也对我们大学生提出了两个要求——充实的课外基础和良好的英语基础。在现代,几乎所有好的软件都是来自国外,假如你不会外语,想学好是非常难的。 Matlab 语言是当今国际上科学界(尤其是自动控制领域)最具影响力、也是最有活力的软件。它起源于矩阵运算,并已经发展成一种高度集成的计算机语言。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。 作为一种计算机语言,Matlab体现了与它价值的相符的优点: 1.编程简单使用方便。在这方面我感觉C语言也是一种简单的编程语言。只要入门就很好掌握,但是要学习一门语言不是那么容易的,到目前为止,可以说我还没入门,所以学习起这门语言来很吃力。相对C语言而言,Matlab的矩阵和向量操作功能是其他语言无法比拟的。在Matlab环境下,数组的操作与数的操作一样简单,基本数据单元是不需要指定维数的,不需要说明数据类型的矩阵,而其数学表达式和运算规则与通常的习惯相同。 2.函数库可任意扩充。由于Matlab语言库函数与用户文件的形式相同,用户文件可以像库函数一样随意调用,所以用户可任意扩充库函数。 3.语言简单内涵丰富。在此语言中,最重要的成分是函数,一般形式为:Function[a,b,c„„]=fun(d,e,f„„)Fun是自定义的函数名,只要不与库函数想重,并且符合字符串书写规则即可。 4、简便的绘图功能。MATLAB具有二维和三维绘图功能,使用方法简单。三维曲线是由plot3(x,y,z)命令绘出的,看上去很简单的一个程序,相对C语言而言。极大的方便了绘图的工作和节省工作时间。 5.丰富的工具箱。由于MATLAB 的开放性,许多领域的专家都为MATLAB 编写了各种程序工具箱。这些工具箱提供了用户在特别应用领域所需的许多函数,这使得用户不必花大量的时间编写程序就可以直接调用这些函数,达到事半功倍的效果。 在理论方面,在学习MATLAB过程中,我感觉到它和c语言有许多相似之处,他有c语言的特征,但是比c语言编程计算更加简单,适合于复杂的数学运算。但是MATLAB跟其他语言也有着很大的不同。 众所周知MATLAB是一个基于矩阵运算的软件,但是,真正在运用的时候,特别是在编程的时候,许多人往往没有注意到这个问题。在使用MATLAB时,受到了其他编程习惯的影响,特别是经常使用的C语言。因此,在MATLAB编程时,for循环(包括while循环)到处都是。这不仅是没有发挥MATLAB所长,还浪费了宝贵的时间。我这里想说的一点是,往往在初始化矩阵的时候注意到这个问题,懂得了使用矩阵而不是循环来赋值,但是,在其他环节上,就很容易疏忽,或者说,仍然没有摆脱C++、C的思想。多用help,see also,lookfor,get, set 等常用命令,尽量摆脱c编程的习惯,总爱用循环,能不用的循环的尽量不用,掌握矢量化的精髓。(1)help: 最有效的命令。其实,可以这样说吧,一遇 到什么问题,通常可以从 help 中找到答案。就先说说对help的一些常用方法。 1)命令窗口直接敲“help”,你就可以得到本地机器上matlab的基本的帮助信息。 2)对于某些不是很明确的命令,只知道大体所属范围,譬如说某个工具箱,直接在命令窗口中敲入 help toolboxname,一帮可以得到本工具箱有关的信息:版本号,函数名等。 (2)lookfor:可以说是 matlab中的google。当我们很多什么头绪都没有的时候,我们可以求助于它,往往会收到意想不到的效果。譬如:曾经在gui编程的时候,遇到过这样一个问题:想拖动鼠标时,要出现一个方框,就像你在桌面上拖动鼠标,会出现虚线框一样。当初我也刚开始一定都不知道该查找什么东西,后来想起用它了。于是,>> lookfor Rectangle。这样一条信息:GETRECT Select rectangle with mouse.get,set: GUI object 属性的帮手在GUI编程中,我们可能有时候想改变某些object的属性,或者想让它安装自己的想法实现,但是我们又不记得这些object的属性,更别提怎么设置他们的值了。这时,可以用 get(handles得到此对象的所有的属性及其当前值。用set(handles)可以得到对象所有可以设置的属性及其可能的取值找到我们需要的属性名字和可能的取值之后,就意义用 get(handles,‘propertyname’)取得此属性的值,用set(handles,‘propertyname’,values)设置此对象此属性的值。Edit: 查看m源文件的助手在应用matlab过程中,可能我们想看看它的m源文件,当然用editor定位打开也行,但是我经常采用的式直接在command窗口中用edit funname.m,就省去了定位的麻烦。 以上就是我学习MATLAB几个月以来的心得与体会,我自己感觉在理论方面自己理解的还是可以的,但是在实践中会经常遇到一些问题,而恰恰自己又束手无策。但是我经常上一些贴吧,那里有不少是使用MATLAB的高手,可以帮我解决不少问题,同时自己也学到了不少东西。 论文题目三号黑体字 摘要 摘要 标题:是以最恰当、最简明的词语反映论文中主要内容的逻辑组合。要求:反映内容准确得体,外延内涵恰如其分,用语凝练醒目。 题目是给评委的第一印象,建议将论文所有模型或者算法加入题目中,例如《用遗传算法解决XXXX问题》。 2.摘要:全文主要内容的简短陈述。 要求: 1)摘要必须指明研究的主要内容,使用的主要方法,得到的主要结论和成果; 2)摘要用语必须十分简练,内容亦须充分概括。文字不能太长,一般不超过300字; 3)不要举例,不要讲过程,不用图表,不做自我评价。 3.关键词:文章中心内容所涉及的重要的单词,以便于信息检索。 要求:数量不要多,以3-5各为宜,不要过于生僻。 关键字: 一级标题用四号黑体字 正文 数据表格 如果你编写了一个能够正常运行的计算机程序,不要浪费它!运行它几百次,每次输入不同的参数值。然后以图表(如果你能)或者表格的形式组织数据。对于它们,即使评委不加以细读,也能留下深刻的印象。它们可以证明你有大量的数据来支持你的结论,你已经对问题中出现的参数进行了彻底的探讨。 图表和图形 图表可以胜过千言万语。图表在建模部分非常有用,可以展示你是如何处理问题的,图形永远是显示数据的最好方式。 二级、三级标题用小四号黑体字 论文中其他汉字一律采用小四号宋体字,行距用单倍行距 论文格式:符合规范,内容齐全,排版美观 问题重述(引言) 不是把赛题拷贝粘贴,而是有所理解下,对问题的重述,也就是说按照你自己的理解重述问题。 符号说明 必要的,在文章中出现的符号的列表说明 基本假设 必要的,合理的假设 问题分析 这是论文中的第一个大的段落。每一个问题,都可细分为三个部分:模型,解决方案和验证方法。模型可以用来生成数据,基于这些数据你可以测试你的解决方案。 模型建立 一般来说,模型将出现在电脑中,所以我们面临的挑战是将程序代码翻译成文字,使得每一步都能自圆其说。 队员应该在周五下午选择构建这些模型,所以这一部分的草稿应该星期六完成。 模型分析与求解 model: min=x1+x2+x3+x4+x5+y1+y2+y3+y4+y5+m1+m2+m3+m4+m5+n1+n2+n3+n4+n5;x1+y1<=9;m1+n1<=3;x2+y2<=9;m2+n2<=3;x3+y3<=9;m3+n3<=3;x4+y4<=9;m4+n4<=3;x5+y5<=9;m5+n5<=3;7.5*x1+7.5*x2+7*x3+7.5*x4+6.5*x5+9*y1+9*y2+7.5*x3+9*y4+8*y5+7.5*m1+7.5*m2+7*m3+7.5*m4+6.5*m5+8*n1+8*n2+8.5*n3+8*n4+8*n5<=470;end 论文的第二个大段落。在这个部分,我们描述数据处理方法,用于处理由第一部分产生的数据。这一部分实际上说明了我们是如何解决问题。 你必须有一个以上的解决方案。再提醒一遍:一个以上的解决方案。为了证明你有一个漂亮算法,你需要有一个底线,一些可以与你的解决方案相比较。你可以先从最简单,最常见的算法入手,然后逐步提炼,完善它,直到得到你的最好的解决方案。 一般情况下,对于离散的问题,最简单的解决方案可能就是随机选择。在这一部分中,你需要证明你已经对问题进行了彻底的探讨,并且你已经尝试了许多不同的解决方案。即使你一开始就使用了最佳解决方案,然后尝试了一些其它的方案,在论文的书 写中,你仍然应该表示从最根本的解决方案入手,然后逐步细化,最终达到你的最佳解决方案。 如果你尝试了更先进的算法,但它的效率并不理想? 也要把它放在论文中!用来表示你已经从不同的角度进行了尝试,即使你最好的解决方案并不是最复杂、最有趣的一个。在现实生活中,情况往往就是这样! 模型结果分析 (稳定性分析,误差分析等,根据模型需要) 在这里,你需要表述测试结果。这一部分应该被特别关注,因为你已经将论文的其它部分表述完成了。如果可能的话,你可以提供大量的数据来支持你的结论。你的模型是不是将不同类型的数据集进行了整合?你的算法是如何做的? 一般来说,这一部分将会以一些用到的参数结尾,这些参数出现在模型、算法和测试方法中。你应该尝试尽可能大的参数空间。在这一部分你要证明你已经采用了一个成熟的算法来处理问题,并且你已经尽可能地考查了问题的所有方面。 具体数据的展示是比较困难的。提供一些图表是最好的手段。但最终如果你彻底探讨了模型,算法和测试方法中出现的每一个参数,你将会有大量的数据需要罗列。 你应该以表格的形式来罗列数据,但不要指望评委会看这些表格。你需要在表格下面写一段解释性的文本,指出数据的总的发展趋势,异常情况和整体结果。 模型检验(与改进) (根据模型需要) 有的时候,问题中会清楚地描述目标要求,以便于你构建算法的验证方法。对于很多问题来说,会有很多方法来 比较不同的算法,最好用多种方法来评价它们。评价方法应该由大家一起自由讨论,可以持续整个星期天。 模型的推广(应用) 结论——模型评价——改进方案 首先,提出你的基本结论,即使你已经在上一个部分中提出过。如:“从整体上看,算法A的执行效率优于算法B 34%,优于算法C 67%”。 你需要用一些数字来概括所有的事情,可以平均化数据和用几个提炼出的数字来对算法进行排名。如果在结果部分里,你已经提到“算法A整体上看优于算法B,而算法B也有自己的一些优点。”在结论部分中,你要摒弃前面的说法,直接说“a是最好的”,这也需要放在摘要当中,表明你已经得到了具体、全面的结论。) 模型评价这一部分是解释算法好的地方和需要改进的地方的一个比较好的途径。推荐用一个公告式的列表。除了概括性的文字以外,不用过多的解释优缺点,结果部分中的主要观点也要在这里提及,同时提到缺点,以及任何限制性的假设。 为了证明你处理问题的方法是成熟的,提出改进方案的工作是必需的。是不是还有一些你想到的算法,由于比较巨大,还没有来得及在计算机上实现?竞赛是有时间限制,所以这个地方可以显示你对问题的一个整体的把握。 结论 将上述的工作做一个总结性的论述。 参考文献 [编号] 作者,书名,出版地:出版社,出版年。参考文献中期刊杂志论文的表述方式为: [编号] 作者,论文名,杂志名,卷期号:起止页码,出版年。参考文献中网上资源的表述方式为: [编号] 作者,资源标题,网址,访问时间(年月日)。 附录 附录一 程序 附录二 公式推导 定理证明等第三篇:选修课数学实验与建模matlab作业
第四篇:matlab数学实验体会
第五篇:数学建模论文