数学建模上机练习习题及答案_第1页
数学建模上机练习习题及答案_第2页
数学建模上机练习习题及答案_第3页
数学建模上机练习习题及答案_第4页
数学建模上机练习习题及答案_第5页
已阅读5页,还剩17页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、练习1 基础练习一、矩阵及数组操作:1利用基本矩阵产生3×3和15×8的单位矩阵、全1矩阵、全0矩阵、均匀分布随机矩阵(-1,1之间)、正态分布矩阵(均值为1,方差为4)。A=eye(3) B=eye(15,8) C=ones(3) D=ones(15,8) E=zeros(3) F=zeros(15,8) G=(-1+(1-(-1)*rand(3) H=1+sqrt(4)*randn(5)2利用fix及rand函数生成0,10上的均匀分布的10×10的整数随机矩阵a,然后统计a中大于等于5的元素个数a=fix(0+(10-0)*rand(10);K=find(a

2、>=5);Num=length(K)或者num=sum(sum(a>=5)num = 533在给定的矩阵中删除含有整行内容全为0的行,删除整列内容全为0的列。如已给定矩阵A在给定的矩阵中删除含有整行内容全为0的行在命令窗口中输入A(find(sum(abs(A')=0),:)=; 删除整列内容全为0的列。A(:,find(sum(abs(A')=0)=;二、绘图:4在同一图形窗口画出下列两条曲线图像:              

3、 y1=2x+5; y2=x2-3x+1,并且用legend标注x=0:0.01:10;y1=2*x+5;y2=x.2-3*x+1;plot(x,y1,x,y2,'r')legend('y1', 'y2')5画出下列函数的曲面及等高线:z=x2+y2+sin(xy)在命令窗口输入:x,y=meshgrid(0:0.25:4*pi);z=x.2+y.2+sin(x.*y);contour3(x,y,z);meshc(x,y,z) 三、程序设计:6编写程序计算(x在-3,3,间隔0.01)建立M文件d.mx=input('请输入x的值:

4、9;);if x>=-3&x<-1y=(-x.2-4*x-3)/2;elseif x>=-1&x<1y=-x.2+1;elseif x>=1&x<=3y=(-x.2+4*x-3)/2;else y='error'endy在命令窗口输入x 的值:7有一列分数序列:求前15项的和。a=1;b=2;sum=0;for k=1:15 c=b/a; sum=sum+c; t=b; b=a+b; a=t;endsumsum = 24.57018用至少三种方法编写函数实现求任意整数n的阶乘。方法一:function f=factor

5、(n)if n<=1 f=1;else f=factor(n-1)*n;end方法二:function result = fa(n)n=input('please input n:');result = 1;for i = 1:nresult = result * i;end方法三:n=input('please input n:');x=1:n; prod(x) 9将任意大于6的偶数m写成两个素数p1、p2的和(试着写出所有的m=p1+p2的可能形式)。解:function y=f(n);n=input('请输入n的值:');if mod

6、(n,2); error('n不是素数.请重新运行程序.')elseif n<=6; error('n必须大于6.请重新运行程序.')else for m=1:n; for k=m:n; if (isprime(m)&(isprime(k)&(m+k=n); disp(num2str(n),'=',num2str(m),'+',num2str(k); break; end; end; end;end;10是否任意3的倍数m可以写成三个素数p1、p2、p3的和(试着写出所有的m=p1+p2+p3的可能形式)?解

7、:function y=fg(n);n=input('请输入n的值:');if mod(n,3); error('n不是3的倍数.请重新运行.')elseif n<6; error('n必须不小于6.')else for m=1:n; for k=m:n; for p=k:n if(isprime(m)&(isprime(k)&(isprime(p)&(m+k+p=n); disp(num2str(n),'=',num2str(m),'+',num2str(k),'+'

8、,num2str(p); break; end; end; end; end;end;四、数据处理与拟合初步:11通过测量得到一组数据:t12345678910y4.8424.3623.7543.3683.1693.0383.0343.0163.0123.005分别采用y=c1+c2e(-t)和y=d1+d2te(-t)进行拟合,并画出拟合曲线进行对比。解:t=1:10;y=4.842,4.362,3.754,3.368, 3.169,3.038,3.034,3.016,3.012,3.005; x1=exp(-t)x1 =0.3679 0.1353 0.0498 0.0183 0.0067

9、0.0025 0.0009 0.0003 0.0001 0.0000x2=t.*exp(-t)x2 = 0.3679 0.2707 0.1494 0.0733 0.0337 0.0149 0.0064 0.0027 0.0011 0.0005y1=polyfit(x1,y,1)y1 = 5.2165 3.1564y1=5.2165*exp(-t)+3.1564y1 = 5.0754 3.8624 3.4161 3.2519 3.1915 3.1693 3.1612 3.1581 3.1570 3.1566y2=polyfit(x2,y,1)y2 = 5.0273 2.9973 y2=5.027

10、3*t.*exp(-t)y2 = 1.8494 1.3607 0.7509 0.3683 0.1694 0.0748 0.0321 0.0135 0.0056 0.0023plot(t,y,t,y1,'r-',t,y2,'gx')12计算下列定积分第一个:建立m文件:function f=jifen1(x)f=exp(-2*x);在命令窗口输入:z1,n=quad(jifen1,0,2)得到结果:z1= 0.4908n = 25第二个:x=0:0.01:2;z2=exp(2*x);trapz(x,z2)得到结果:ans = 26.8000第三个:t=-1:0.0

11、1:1;z3=x.2-3*x+0.5;trapz(x,z3)得到结果:ans = 1.666713微分方程组当t=0时,x1(0)=1,x2(0)=-0.5,求微分方程t在0,25上的解,并画出相空间轨道图像。t=0:0.01:25;x,y=dsolve('Dx=0.5-x','Dy=x-4*y','x(0)=1','y(0)=-0.5','t') x = 1/2+1/2*exp(-t) y = 1/8+1/6*exp(-t)-19/24*exp(-4*t)plot(t,x,t,y)图像如下:t=0:0.01:25

12、;x=1/2+1/2*exp(-t);y =1/8+1/6*exp(-t)-19/24*exp(-4*t);plot(t,x,t,y)14设通过测量得到时间t与变量y的数据:         t=0 0.3 0.8 1.1 1.6 2.3;           y=0.5 0.82 1.14 1.25 1.35 1.41;分别采用多项式:   y=a0+a1t+a2t2和指数函数   y

13、=b0+b1et+b2tet进行拟合,并计算均方误差、画出拟合效果图进行比较。解:t=0 0.3 0.8 1.1 1.6 2.3;y=0.5 0.82 1.14 1.25 1.35 1.41;tt=0:0.01:2.3;a=polyfit(t,y,2) yy1=polyval(a,tt);z1=polyval(a,t);wucha1=sqrt(sum(z1-y).2)B=ones(size(t') exp(-t)' ( t.*exp(-t)' b=By' yy2=b(1)+b(2)*exp(-tt)+b(3)*tt.*exp(-tt);z2=b(1)+b(2)*

14、exp(-t)+b(3)*t.*exp(-t);wucha2=sqrt(sum(z2-y).2)figure(1);plot(t,y,'+',tt,yy1,t,z1,'o')figure(2);plot(t,y,'+',tt,yy2,t,z2,'o')15观察函数: y=ex-1.5cos(2*pi*x)在区间-1,1上的函数图像,完成下列两题:(1)用函数fzero求解上述函数在-1,1的所有根,验证你的结果;(2)用函数fminbnd求解上述函数在-1,1上的极小、极大、最小和最大值,在函数图像上标出你求得的最小值点作出验证。

15、注:可以用help fzero命令查看fzero的调用格式,fzero典型的调用方法是:fzero(myfun,x0) %返回函数myfun在x0附近的根;fminbnd典型的调用方法是:fminbnd(myfun,x1,x2) %返回函数myfun在区间x1,x2上的最小值。(1)x=-1:0.01:1;y=exp(x)-1.5*cos(2*pi*x);plot(x,y,'g')hold on>> y0=0;>> plot(x,y0,'k') z=fzero('f',-0.8) z = -0.7985 >>

16、z=fzero('f',-0.1) z = -0.1531 >> z=fzero('f',0.1) z = 0.1154(2)f.mfunction y=f(x);y=exp(x)-1.5*cos(2*pi*x);x=fminsearch('f',-0.2,0.2) x = -0.0166 >> x=fminsearch('f',-1,1) x = -1.0062f1.mfunction y=f(x);y=-exp(x)+1.5*cos(2*pi*x); x=fminsearch('f1',

17、0.4,0.6) x = 0.5288 >> x=fminsearch('f1',-0.6,-0.4) x = -0.4897x1=-1.0062 ;y1=exp(x1)-1.5*cos(2*pi*x1)y1 = -1.1333 plot(x1,y1,'*') 练习2 气象观察站调整问题某地区内有12个气象观察站(位置如图),现有10年各观察站的年降水量数据.为了节省开支,想要适当减少气象站. 问题:减少哪些观察站可以使得到的降水量的信息量仍然足够大?试结合方差分析和回归分析方法确定最终保留的观察站。提示:解:程序代码:a=272.6,324.5,1

18、58.6,412.5,292.8,258.4,334.1,303.2,292.9,243.2,159.7,331.2;251.6,287.3,349.5,297.4,227.8,453.6,321.5,451.0,446.2,307.5,421.1,455.1;192.7,433.2,289.9,366.3,466.2,239.1,357.4,219.7,245.7,411.1,357.0,353.2;246.2,232.4,243.7,372.5,460.4,158.9,298.7,314.5,256.6,327.0,296.5,423.0;291.7,311.0,502.4,254.0,2

19、45.6,324.8,401.0,266.5,251.3,289.9,255.4,362.1;466.5,158.9,223.5,425.1,251.4,321.0,315.4,317.4,246.2,277.5,304.2,410.7;258.6,327.4,432.1,403.9,256.6,282.9,389.7,413.2,466.5,199.3,282.1,387.6;453.4,365.5,357.6,258.1,278.8,467.2,355.2,228.5,453.6,315.6,456.3,407.2;158.5,271.0,410.2,344.2,250.0,360.7,376.4,179.4,159.2,342.4,331.2,377.7;324.8,406.5,235.7,288.8,192.6,284.9,290.5,343.7,283.4,281.2,243.7,411.1;y=std(a,0,1)输出结果:y = Columns 1 through 6 100.2660 80.9270 108.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论