收藏 分销(赏)

数学建模上机练习习题及答案.doc

上传人:胜**** 文档编号:897772 上传时间:2024-04-03 格式:DOC 页数:22 大小:586.50KB
下载 相关 举报
数学建模上机练习习题及答案.doc_第1页
第1页 / 共22页
数学建模上机练习习题及答案.doc_第2页
第2页 / 共22页
点击查看更多>>
资源描述
练习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>=5); Num=length(K)或者num=sum(sum(a>=5)) num = 53 3.在给定的矩阵中删除含有整行内容全为0的行,删除整列内容全为0的列。 如已给定矩阵A在给定的矩阵中删除含有整行内容全为0的行 在命令窗口中输入A(find(sum(abs(A'))==0),:)=[]; 删除整列内容全为0的列。A(:,find(sum(abs(A'))==0))=[]; 二、绘图: 4.在同一图形窗口画出下列两条曲线图像:                y1=2x+5; y2=x^2-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=x^2+y^2+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.m x=input('请输入x的值:'); if x>=-3&x<-1 y=(-x.^2-4*x-3)/2; elseif x>=-1&x<1 y=-x.^2+1; elseif x>=1&x<=3 y=(-x.^2+4*x-3)/2; else y='error' end y 在命令窗口输入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; end sum sum = 24.5701 8.用至少三种方法编写函数实现求任意整数n的阶乘。 方法一: function f=factor(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:n result = 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(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 的可能形式)? 解: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),'+',num2str(p)]); break; end; end; end; end; end; 四、数据处理与拟合初步: 11.通过测量得到一组数据: t 1 2 3 4 5 6 7 8 9 10 y 4.842 4.362 3.754 3.368 3.169 3.038 3.034 3.016 3.012 3.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 0.0025 0.0009 0.0003 0.0001 0.0000 x2=t.*exp(-t) x2 = 0.3679 0.2707 0.1494 0.0733 0.0337 0.0149 0.0064 0.0027 0.0011 0.0005 y1=polyfit(x1,y,1) y1 = 5.2165 3.1564 y1=5.2165*exp(-t)+3.1564 y1 = 5.0754 3.8624 3.4161 3.2519 3.1915 3.1693 3.1612 3.1581 3.1570 3.1566 y2=polyfit(x2,y,1) y2 = 5.0273 2.9973 y2=5.0273*t.*exp(-t) y2 = 1.8494 1.3607 0.7509 0.3683 0.1694 0.0748 0.0321 0.0135 0.0056 0.0023 plot(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.4908 n = 25 第二个: x=0:0.01:2; z2=exp(2*x); trapz(x,z2) 得到结果: ans = 26.8000 第三个: t=-1:0.01:1; z3=x.^2-3*x+0.5; trapz(x,z3) 得到结果: ans = 1.6667 13.微分方程组 当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; 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+a2t^2 和指数函数   y=b0+b1e^t+b2te^t 进行拟合,并计算均方误差、画出拟合效果图进行比较。 解: 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=B\y' yy2=b(1)+b(2)*exp(-tt)+b(3)*tt.*exp(-tt); z2=b(1)+b(2)*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=e^x-1.5cos(2*pi*x) 在区间[-1,1]上的函数图像,完成下列两题: (1)用函数fzero求解上述函数在[-1,1]的所有根,验证你的结果; (2)用函数fminbnd求解上述函数在[-1,1]上的极小、极大、最小和最大值,在函数图像 上标出你求得的最小值点作出验证。 注:可以用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 >> z=fzero('f',-0.1) z = -0.1531 >> z=fzero('f',0.1) z = 0.1154 (2)f.m function 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.0062 f1.m function y=f(x); y=-exp(x)+1.5*cos(2*pi*x); x=fminsearch('f1',0.4,0.6) x = 0.5288 >> x=fminsearch('f1',-0.6,-0.4) x = -0.4897 x1=-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,158.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,245.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.2444 63.9747 94.1034 94.2002 Columns 7 through 12 38.0479 85.0735 106.4092 57.2472 86.5136 36.8299 练习3 中国总人口的灰色动态预测 运用灰色系统理论及其建模原理,预测2020年和2050年中国人口。 灰色预测法原理可参考:灰色预测法.ppt 注:以上所有作业均要求编写M文件,目的在于熟悉常用建模方法的使用和相关的Matlab语言。 练习4 优化问题练习 1、线性规划 规划问题不等式约束默认是,所有不等式约束都要变成的形式。 函数原型:X=linprog(f,A,b,Aeq,beq,LB,UB,X0,OPTIONS) f:目标函数的系数列向量 A:不等式约束条件的系数矩阵 b:不等式约束条件的 Aeq:等式约束条件的系数矩阵 beq:等式约束条件的 lb:未知数的下界 ub:未知数的上界 x0:初值 option:选项 例:求解如下规划问题 2、二次规划 函数原型:X=quadprog(H,f,A,b,Aeq,beq,LB,UB,X0,OPTIONS) 将目标函数写成如下形式: 例:求解如下规划问题 3、0-1规划 函数原型:X = bintprog(f,A,b,Aeq,beq,X0,OPTIONS) 例:求解如下规划问题 4、有约束的最值问题 函数原型:X=fimincon(FUN,X0,A,B,Aeq,Beq,LB,UB,NONLCON,OPTIONS) fun:目标函数 nonlcon:非线性约束条件函数 例1: 例2:目标函数: 约束条件:
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服