《MATLAB数学实验程序.docx》由会员分享,可在线阅读,更多相关《MATLAB数学实验程序.docx(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、MATLAB数学实验程序MATLAB数学实验程序ex1.单位圆的正多边形逼近alpha=linspace(0,2*pi,13);x=sin(alpha);y=cos(alpha);%计算正十二边形顶点坐标I2=1:2:13;I1=1:4:13;x1=x(I1);y1=y(I1);%提取正三边形坐标x2=x(I2);y2=y(I2);%提取正六边形坐标plot(x1,y1,x2,y2,x,y)axisoffex2抛射曲线的最大射程计算v0=100;%设定初速度g=9.8;alpha=pi/4;T=2*v0*sin(alpha)/g;%计算飞行时间t=linspace(0,T,17);%设定飞行时
2、刻x=v0*t*cos(alpha);%计算坐标点y=v0*t*sin(alpha)-g*t.2/2;plot(x,y,x,y,r*)xmax=x(end)%显示最远射程ex3.巴拿马草帽.图形x,y=meshgrid(-8:0.5:8);%创立网格点矩阵r=sqrt(x.2+y.2)+eps;%计算网格点到原点距离z=sin(r)./r;%计算二元函数值mesh(x,y,z)%二元函数绘图colormap(1,0,0)%设置红色axisoff%去掉坐标架ex4.三叶玫瑰线实验theta=linspace(0,2*pi,10000);%创立区间0,2上离散点n=3;%设置三叶玫瑰线参数r=co
3、s(n*theta);%计算玫瑰线坐标数据figure(1)%创立第一个图形窗polar(theta,r,k)%极坐标绘图x=r.*cos(theta);%直角坐标转换y=r.*sin(theta);figure(2)%创立第二个图形窗口comet(x,y)%用慧星绘图做动态模拟ex5.抛射曲线簇绘图程序alpha=linspace(0.1,p/2,20);%创立20个发射角数据的行向量v0=100;g=9.8;Taim=2*v0*sin(alpha)/g;%计算对应的飞行时间T=(0:16)*Taim/16;%计算飞行时刻矩阵TX=v0*T*diag(cos(alpha);%对角矩阵右乘飞行
4、时刻矩阵Y=v0*T*diag(sin(alpha)-g*T.2/2;plot(X,Y,r)ex6.黎曼曲面绘图程序r,theta=meshgrid(s,t);%创立网格点z=r.*exp(i*theta);%设置复数自变量f=sqrt(r).*exp(i*theta/2);%计算复变函数值x=real(z);y=imag(z);%分离实部和虚部figure(1),mesh(x,y,real(f),axisofffigure(2),mesh(x,y,imag(f),axisoffexp7.宝石切割问题实验程序P=perms(1:3);%创立全排列操作数a=19,14,12;b=5,4,2;%设
5、置石料数据forki=1:6pk=P(ki,:);L0=a;%提取操作数forkj=1:3L=L0;II=pk(kj);L(II)=;%模拟切割A(ki,kj)=prod(L);%计算单次切割面积L0(II)=b(II);endendQ=A*1;1;1;%计算每种操作切割面积disp(P,2*Q)exp8马鞍面动态旋转帧播放程序M=moviein(16);x,y=meshgrid(-6:.5:6);z=x.2-y.2;%创立马鞍面坐标数据mesh(x,y,z),axisoff%马鞍面绘图AZ=-30;%设置初始方位角fork=1:24colormap(001),view(AZ,20)%旋转图形
6、M(:,k)=getframe;%帧设计AZ=AZ+15;%方位解增加15Oendmovie(M,2)%帧播放ex9.飞机机翼图仿真程序t=linspace(-pi/4,pi/4,50);%设置50个点ro=sqrt(cos(2*t);%计算双纽线坐标x=ro.*cos(t);y=ro.*sin(t);%直角坐标转换X=0.6;1*x;Y=0.6;1*y;%XY坐标扩大矩阵Z=0;1*ones(1,50);%Z坐标矩阵mesh(X,Y,Z),holdoncolormap(000)%设置黑色view(17,-12),axisoff%设置视角、去坐标架fill3(0.6*x,0.6*y,zeros
7、(1,50),c)%底面填充ex10.角谷猜测或3n+1问题的周期计算n=input(inputn:=);%输入正整数N=n;T=1;whilen=1r=rem(n,2);%求n/2的余数ifr=0n=n/2;%第一种操作elsen=3*n+1;%第二种操作endN=N,n;T=T+1;endT,NEx11.骑摩托问题模拟程序A=0;B=100;va=10;vb=8;vc=60;f=1;k=0;while(B-A)0.2iff=1tk=(B-A)/(vb+vc);%计算C和B相遇时间elsetk=(B-A)/(vc+va);%计算C和A相遇时间endA=A+va*tk;B=B-vb*tk;%根
8、据相遇时间计算位移f=-f;k=k+1;endk,A,Bex12.杨辉三角形计算程序functionY=young(n)ifnargin=0,n=3;endY=eye(n);Y(:,1)=ones(n,1);%将矩阵第一列和对角元置为1fork=3:nY(k,2:k-1)=Y(k-1,1:k-2)+Y(k-1,2:k-1);%根据前一行计算当前行数据endex13.正方形旋转实验程序xy=-1-1;1-1;11;-11;-1-1;A=cos(pi/24)sin(pi/24);sin(pi/24)cos(pi/24);%创立正交矩阵x=xy(:,1);y=xy(:,2);%提取坐标数据axiso
9、ffline(x,y),pause(1)%画线并暂停一秒fork=1:24xy=.89*xy*A;%旋转并压缩x=xy(:,1);y=xy(:,2);line(x,y),pause(1)endex14.中国农历年与十二生肖functionyears(year)%输入年份year%输出天干地支农历年生肖属相ifnargin=0,year=2020;endS1=甲乙丙丁戊己庚辛壬癸;%创立天干字符串数组S2=子丑寅卯辰巳午未申酉戍亥;%创立地支字符串数组S=鼠牛虎兔龙蛇马羊猴鸡狗猪;%创立十二生肖字符串数组k1=mod(year-4,10)+1;%年份除10的余数k2=mod(year-4,12)
10、+1;s1=S1(k1);s2=S2(k2);s=S(k2);%准确定位X=S1,.;S2;S%输出天干地支十二生肖表disp(int2str(year),年是,s1,s2,年,,属相:,s)ex15.生日与十二星座模拟functionAries(x)%输入生日格式mm,dddata=1,19;2,18;3,20;4,20;5,20;6,21;7,23;8,23;9,23;10,24;11,22;12,22;Const=水瓶;双鱼;白羊;金牛;双子;巨蟹;狮子;处女;天秤;天蝎;射手;魔蝎;P=data(:,1);Q=data(:,2);p=x(1);q=x(2);II=find(Pop=x,
11、y,z;%城市坐标formatbankDmatrix=R*acos(op*op/R2)%计算距离矩阵Ex18.北京到纽约飞行模拟实验程序functionflytravel()city=40,116;31,122;36,140;37,-123;41,-76;figure(1),sphere(24),colormap(111)axisoff,holdonp1=city(1,:);p2=city(5,:);skyway(p1,p2)figure(2),sphere(24),colormap(1,1,1)axisoff,holdonfork=1:4p1=city(k,:);p2=city(k+1,:)
12、;skyway(p1,p2)endfunctionskyway(p1,p2)city=p1;p2*pi/180;theta=city(:,1);fai=city(:,2);x=cos(theta).*cos(fai);y=cos(theta).*sin(fai);z=sin(theta);t=linspace(0,1,20);xt=(1-t)*x(1)+t*x(2);yt=(1-t)*y(1)+t*y(2);zt=(1-t)*z(1)+t*z(2);r=sqrt(xt.*xt+yt.*yt+zt.*zt);xt=xt./r;yt=yt./r;zt=zt./r;plot3(x,y,z,ro,xt
13、,yt,zt,b,linewidth,2)ex19.牟合方盖体积计算与绘图程序symsxyRy0=sqrt(R2-x2);V=8*int(int(sqrt(R2-x2),y,0,y0),x,0,R)V0=subs(V,R,1)r=linspace(0,1,20);t=linspace(0,2*pi,80);u=r*cos(t);v=r*sin(t);w=sqrt(1+eps-u.2);meshz(u,v,w),colormap(0,0,1)axisoffview(-46,52)colormap(0,0,0)ex20.左矩形公式计算及绘图程序functionS=interg(h)ifnargin
14、=0,h=.5;endf=inline(x.3./(exp(x)-1);x=eps:h:5-h;y=f(x);n=length(x);X(1:3:3*n)=x;X(2:3:3*n)=x;X(3:3:3*n)=x(2:n),5;Y(2:3:3*n)=y;Y(3:3:3*n)=y;X=X,5;Y=Y,0;t=eps:0.1:10;u=f(t);plot(X,Y,k,t,u,k,LineWidth,1)S=sum(y)*h;Ex21.探月卫星初始轨道的最大速度计算程序h=200;H=51000;R=6378;%输入重要数据a=(h+H+2*R)/2;c=(H-h)/2;%计算长半轴和半焦距e1=c/
15、a;b=sqrt(a*a-c*c);%计算离心率和短半轴T=16*3600;S1=a*b*pi/T;symse2t%定义两个符号变量f=sqrt(1-e2*cos(t)2);%定义符号表达式ft=subs(f,e2,e1*e1);%替换离心率数据S=int(ft,0,pi/2);%计算积分L=4*a*double(S)%符号数据转换为数值V=L/T%计算平均速度Vmax=2*S1/(R+h)Ex22.探月卫星的周期计算程序R=6378;h=200,600,600,600,600;H=51000,51000,71000,128000,370000;a=(h+H+2*R)/2;c=(H-h)/2;
16、E2=(c./a).2;b=sqrt(a.*a-c.*c);Vmax=linspace(10.3,10.9,5);bar(Vmax,c)S=a.*b.*pi;Times=2*S./Vmax./(R+h)/3600Ex23.探月卫星轨道模拟程序functionsatel1()R=6378;h=200,600,600,600,600;H=51000,51000,71000,128000,370000;a=(h+H+2*R)/2;c=(H-h)/2;b=sqrt(a.*a-c.*c);t=linspace(-pi,pi,500);x=a*cos(t);y=b*sin(t);s=c-c(1);s(2)
17、=-s(2);S=s*ones(size(t);x=S+x;X=x;Y=y;figure(1),plot(X,Y,k,-c(1),0,ob)X=reshape(X,2500,1);Y=reshape(Y,2500,1);figure(2),comet(X,Y)ex24.汽车紧急刹车滑行距离的数据拟合R1=1.609;R2=0.3048;x=2025303540455055606570;y=202841537293118149182221266;P2=polyfit(x,y,2);%二次多项式拟合y2=polyval(P2,x);%计算二次拟合多项式在数据点处的值Rest2=sum(y-y2).
18、2)%计算二次拟合多项式的残差平方和figure(1),plot(x,y,*,x,y2)P3=polyfit(x,y,3);%三次多项式拟合y3=polyval(P3,x);%计算三次拟合多项式在数据点处的值Rest3=sum(y-y3).2)%计算三次拟合多项式的残差平方和figure(2),plot(x,y,ok,x,y3,k)V=20,30,40,60,80,100,120./R1;%将公里数转换为英里数S=polyval(P3,V);%使用三次多项式计算刹车距离x;yV*R1;S*R2%显示公里数和刹车距离ex25.两船相遇的随机模拟实验程序functionP,Fn=shipmeet(
19、N)ifnargin=0,N=10000;endS1=0.5*22*22;S2=0.5*23*23;P=1-(S1+S2)/(24*24);data=24*rand(N,2);X=data(:,1);Y=data(:,2);II=find(X-1k=1;S=S*p;pay=S;whileS0k=k+1;S=S*p;S=S-30;pay=pay,S;endpayex28.梯子问题的数学模型求解程序fun=inline(3./sin(alpha)+2./cos(alpha);figure(1)fplot(fun,pi/6,2*pi/5),holdonx0,y0=fminbnd(fun,0,pi/2
20、)plot(x0,y0,o)fun1=inline(1+2./x).*sqrt(x.2+9);figure(2)fplot(fun1,2,4),holdonx1,y1=fminbnd(fun1,2,4)plot(x1,y1,o)ex29.常微分方程向量场模拟程序x,y=meshgrid(0:.25:6,0:.05:2);k=y.*(1-y);d=sqrt(1+k.2);px=1./d;py=k./d;quiver(x,y,px,py),holdonu=dsolve(Du=u*(1-u),u(0)=.2);v=dsolve(Dv=v*(1-v),v(0)=1.8);ezplot(u,0,6)ez
21、plot(v,0,6)axis(0,6.3,-.04,2.01)ex30一个正电荷电场模拟程序functionelab0(dt)ifnargin=0,dt=0.2;endx,y=meshgrid(-1:dt:1);D=sqrt(x.2+y.2)+eps;z=1./D;Ex,Ey=gradient(z,dt);E=sqrt(Ex.2+Ey.2)+eps;Ex=-Ex./E;Ey=-Ey./E;quiver(x,y,Ex,Ey)axis(-1,1,-1,1)holdont=linspace(0,2*pi,50);xt=.1*cos(t);yt=.1*sin(t);plot(0,0,r+,xt,yt,b)