《数学建模上机练习习题及答案.doc》由会员分享,可在线阅读,更多相关《数学建模上机练习习题及答案.doc(22页珍藏版)》请在金锄头文库上搜索。
1、练习1 基础练习一、矩阵及数组操作:1利用基本矩阵产生33和158的单位矩阵、全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上的均匀分布的1010的整数随机矩阵a,然后统计a中大于等于5的元素个数a=fix(0+(10-0)*rand(10);K=find(a=5);Num=length(K)或
2、者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在同一图形窗口画出下列两条曲线图像: 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+
3、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的值:);if x=-3&x=-1&x=1&x=3y=(-x.2+4*x-3)/2;else y=errorendy在命令窗口输入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.
4、57018用至少三种方法编写函数实现求任意整数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: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(
5、请输入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 y0=0; plot(x,y0,k) z=fzero(f,-0.