第二届青岛大学Matlab竞赛初赛试题
Matlab竞赛(初赛)试题(2017年4月)(15分)编写程序产生一个的随机整数矩阵A,(1)求出A中的所有能被3整除的元素的和。(2)求出A中的数值最大元素与数值最小元素。(3)找出矩阵A的所有大于10的元素,并将他们由小到大排成一行。a=floor(rand(5,4)*100);index=find(mod(a,3)==0);sum(a(index))minn=min(min(a))maxx=max(max(a))index2=find(a>10);b=a(index);sort(b);b'2.(7分)自定义函数(1)求该函数在处的二阶导数(2)求出该函数在上的定积分clcclearsyms x;y=x.^2.*atan(x);dy=diff(y);dy2=diff(dy);zhi=subs(dy2,'pi/4')z=int(y,x,0,pi/4)3.(6分)定义函数,然后在单位圆周上等距取6个点,并计算在这些点的值。clcclearf=@(x,y)x.^2*y+x*y.^2+x+y;p=0:pi/3:2*pi;x=cos(p);y=sin(p);x(7)=[];y(7)=[];xysubs(f) 4.(8分)画出分段函数的图形。clcclearx1=-1:0.01:0;x2=0:0.01:1;x3=1:0.01:2;y1=x1+1;y2=zeros(1,size(x2,2))+1;y3=x3.^2;plot(x1,y1,'r',x2,y2,'r',x3,y3,'r');5.(8分)对在同一坐标系下画出一组椭圆的图形,要求对不同曲线标明不同的颜色,x轴y轴的坐标刻度相同。6.(8分)分别在区域和区域上做出曲面和曲面。7.(8分)用最小二乘法求一形如的经验公式拟合表1中的数据。 表1 1 2 3 4 5 6 7 8 15.3 20.5 27.4 36.6 49.1 65.6 87.87 7.68.(14分)随机生成含50个0到100之间的整数的数组,(其中),将划分为5个区间:,,,,,完成以下任务:(1)编写程序分别求出数组中分别位于这5个区间中元素的个数,并算出位于各个区间中元素的平均值。(2)若,则称存在状态到状态的一个状态转移,为序列中含有的状态到状态的状态转移的数量,编写程序求出,并形成状态转移矩阵。9.(8分)已知速度曲线上的四个数据点如表2所示。用三次样条插值求位移和处的加速度。表2t0.150.160.170.18v(t)3.51.52.52.8t=[0.15 0.16 0.17 0.18];v=[3.5 1.5 2.5 2.8];t0=[0.15:0.0001:0.18];v0=spline(t,v,t0);sum=0;for j=1:1:301 sum= v0(j) + sum;ends=sum*0.0001;a=(v0(301)-v0(300))/0.0001;plot(t0,v0);hold onplot(t,v,'*')sa10.(10分)微分方程(1)求其在上的数值解,并画出与的图像,并添加图例。(2)对求得的数值解进行多项式拟合,求出一个该特解的拟合多项式,要求满足拟合优度(R-square)大于0.99。[T,Y]=ode45('rigid',[0 2],[0 1 1]);n=size(T,1);plot(T,Y(:,1),'-');legend('y=y(x)');figure(2)plot(T,Y(:,2),'*');legend('y=dy(x)');A=polyfit(T,Y(:,1),2)z=polyval(A,T);figure(3)plot(T,z,'r');legend('y=y(x)');11.(8分)在一丘陵地带测量高程,和方向每隔100米测一个点,得高程如下表, 100 200 300400 500 100 636 697 624 478 450200 698 712 630 478 430300 680 674 598 412 380400 662 626 552 334 300500 640 610 510320 250 (1)直接根据表中数据绘出该观测区域地表的曲面图。 (2)对横坐标、纵坐标均以步长20采集数据点,做出经插值后的曲面图形,并画出值为[250,350,450,550,600,650,680]250的那些等高线图。clearz=[636 697 624 478 450; 698 712 630 478 430; 680 674 598 412 380; 662 626 552 334 300; 640 610 510