资源描述:
《2014 第一轮上机练习题答案matlab程序设计练习》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、练习1基础练习一、矩阵及数组操作:1.利用基本矩阵产生3×3和15×8的单位矩阵、全1矩阵、全0矩阵、均匀分布随机矩阵([-1,1]之间)、正态分布矩阵(均值为1,方差为4)。解eye(3)eye(15,8)ones(3)ones(15,8)zeros(3)zeros(15,8)X1=(1+(1-(-1))*rand(3))X2=(1+(1-(-1))*rand(15,8))Y1=1+sqrt(4)*randn(3)Y2=1+sqrt(4)*randn(15,8)2.利用fix及rand函数生成[0,10]上的均匀分布的10×10的整数随机矩阵a,然后统计a中大于等于5的元素个
2、数。解:a=fix((10-0+1)*rand(10)+0)x=5i=find(a>=x)n=length(i)3.在给定的矩阵中删除含有整行内容全为0的行,删除整列内容全为0的列。解:A=[12234;00000;45623;00000;];A([2,4],:)=[]B=A';B(:,[2,4])=[]二、绘图: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;20plot(x,y1,x,y2)legend('y1','y
3、2')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)20三、程序设计:6.编写程序计算(x在[-3,3],间隔0.01)解:x=input('ÇëÊäÈëxµÄÖµ:');ifx>=-3&x<-1y=(-x.^2-4*x-3)/2;elseifx>=-1&x<1y=-x.^2+1;elseifx>=1&x<=3y=(-x.^2+4*x-3)/2;elsey='error'endy7.有一列分数序列:
4、求前15项的和。解:a=1;b=2;sum=0;fork=1:15c=b/a;sum=sum+c;t=b;b=a+b;a=t;endsum8.用至少三种方法编写函数实现求任意整数n的阶乘。解:法一:s=factorial(n)法二:gamma(n)求出的是(n-1)!法三:n=input('pleaseinputn:');x=1:n;20prod(x)9.将任意大于6的偶数m写成两个素数p1、p2的和(试着写出所有的m=p1+p2的可能形式)。解:functiony=f(n);n=input('ÇëÊäÈënµÄÖµ:');ifmod(n,2);error('n²»ÊÇËØÊý
5、.ÇëÖØÐÂÔËÐгÌÐò.')elseifn<=6;error('n±ØÐë´óÓÚ6.ÇëÖØÐÂÔËÐгÌÐò.')elseform=1:n;fork=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的可能形式)?解:functiony=fg(n);n=input('请输入n的值:');ifmod(
6、n,3);error('n不是3的倍数.请重新运行.')elseifn<6;error('n必须不小于6.')elseform=1:n;fork=m:n;forp=k:nif(isprime(m))&(isprime(k))&(isprime(p))&(m+k+p==n);disp([num2str(n),'=',num2str(m),'+',num2str(k),'+',num2str(p)]);break;end;end;end;20end;end;四、数据处理与拟合初步:11.通过测量得到一组数据:t12345678910y4.8424.3623.7543.3683.16
7、93.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);x2=t.*exp(-t);y1=polyfit(x1,y,1)可以写出:y1=5.2165*exp(-t)+3.1564y2=polyfit(x2,y,1)可以写出:y2=5.