2014-第一轮上机练习题答案matlab程序设计练习.docVIP

  • 134
  • 0
  • 约1.03万字
  • 约 20页
  • 2018-01-08 发布于江西
  • 举报

2014-第一轮上机练习题答案matlab程序设计练习.doc

2014-第一轮上机练习题答案matlab程序设计练习.doc

练习1 基础练习 一、矩阵及数组操作: 1.利用基本矩阵产生3×3和15×8的单位矩阵、全1矩阵、全0矩阵、均匀分布随机矩阵([-1,1]之间)、正态分布矩阵(均值为1,方差为4)。 2.利用fix及rand函数生成[0,10]上的均匀分布的10×10的整数随机矩阵a,然后统计a中大于等于5的元素个数。a=fix((10-0+1)*rand(10)+0) x=5 i=find(a=x) n=length(i) 3.在给定的矩阵中删除含有整行内容全为0的行,删除整列内容全为0的列。A=[1 2 2 3 4;0 0 0 0 0;4 5 6 2 3;0 0 0 0 0;]; 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; plot(x,y1,x,y2) legend(y1, y2) 5.画出下列函数的曲面及等高线: z=x^2+y^2+sin(xy). 三、程序设计: 6.编写程序计算(x在[-3,3],间隔0.01) x=input(??ê?è?xμ??μ:); if x=-3x-1 y=(-x.^2-4*x-3)/2; elseif x=-1x1 y=-x.^2+1; elseif x=1x=3 y=(-x.^2+4*x-3)/2; else y=error end y 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 8.用至少三种方法编写函数实现求任意整数n的阶乘。s=factorial(n) 法二:gamma(n) 求出的是(n-1)! 法三:n=input(please input n:); x=1:n; prod(x) 9.将任意偶数m写成两个素数p1、p2的和(试着写出所有的m=p1+p2的可能形式)。function y=f(n); n=input(??ê?è?nμ??μ:); if mod(n,2); error(n2?ê???êy.????D???DD3ìDò.) elseif n=6; error(n±?D?′óóú6.????D???DD3ìDò.) 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 n6; 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); x2=t.*exp(-t); y1=polyfit(

文档评论(0)

1亿VIP精品文档

相关文档