为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > MATLAB试验题答案

MATLAB试验题答案

2019-09-18 6页 pdf 382KB 7阅读

用户头像

is_704284

暂无简介

举报
MATLAB试验题答案1、求以下变量的值,并在MATLAB中验证。>>result8=a.c(1)a=1:2:5Attempttoreferencefieldofnon-structurea=array.135>>result9=a.\b(2)b=[a',a',a';a]result9=b=1112.00002.0000-0.33333330.25000.60000.8333555>>result10=a.^2135result10=(3)c=a+b(2,:)c=149468162536>>result11=2.^a2、下列运算是否合法,为什么?如...
MATLAB试验题答案
1、求以下变量的值,并在MATLAB中验证。>>result8=a.c(1)a=1:2:5Attempttoreferencefieldofnon-structurea=array.135>>result9=a.\b(2)b=[a',a',a';a]result9=b=1112.00002.0000-0.33333330.25000.60000.8333555>>result10=a.^2135result10=(3)c=a+b(2,:)c=149468162536>>result11=2.^a2、下列运算是否合法,为什么?如合法,result11=结果是多少?>>result2=a*b248Errorusing*163264Innermatrixdimensionsmustagree.>>result3=a+b3、用MATLAB求解下面的的方程组。result3=7212x4136291532x758112(1)22115x1>>result4=b*d313213x0result4=4>>A=[721-2;9153-2;-2-2115;13213]312222>>B=[47-10]404913>>B=B'>>result5=[b;c']*d>>x=inv(A)*Bresult5=xyz1x2yzw8312222(2)2xy3w34049133x3y5z6w5-5-87>>result6=a.*b>>A1=[1110;121-1;2-10-3;335-6]result6=>>B2=[1;8;3;5]>>x2=inv(A1)*B228-3415307212>>result7=a./b91532result7=A221150.50000.5000-3.0000132134、已知4.00001.66671.2000(1)求矩阵A的秩(rank)7、分别用if和switch语句实现,将百分(2)求矩阵A的行列式(determinant)制成绩转换为成绩等级A、B、C、D、E。(3)求矩阵A的逆(inverse)其中90~100分为A,80~89分为B,70~79(4)求矩阵A的特征值及特征向量分为C,60~69分为D,60分以下为E。(eigenvalueandeigenvector)对超出百分制范围的成绩,给出错误提>>A3=[721-2;9153-2;-2-2115;13213]示信息。>>r=rank(A3)if结构程序:>>b=inv(A3)x=input('pleaseenterscore=');>>a=det(A3)ifx>=90&&x<=100>>[V,D]=eig(A3)disp('A')elseifx<90&&x>=805、disp('B')10elseifx<80&&x>=70n109910y22222disp('C')n10elseifx<70&&x>=60,求y=?(运行formatlongg命令disp('D')后,查看y的值)elseifx<60&&x>=0m1=0;disp('E')form=-10:10elsem1=m1+2^m;disp('error')endendm1switch结构程序:m1=x=input('pleaseenterscore=');2047.9990234375switchfix(x/10)case{10,9}6、求分段函数的值。ifx>100disp('error')x2x6x0elseyx25x60x5disp('A')endx2x1x5case{8}disp('B')用if语句实现,算出下列中x对应的ycase{7}值。disp('C')x=input('enterx=');case{6}ifx<0disp('D')y=x^2+x-6;case{0,1,2,3,4,5}elseifx>=0&&x<5disp('E')y=x^2-5*x+6;otherwiseelsedisp('error')y=x^2-x-1;endendy8、思考设计程序,完成成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,10、根据再输入一个运算符号,做相应的运算,x21111并显示相应的结果。6122232n2x=input('请输入运算符'),a=num2str(floor(rand(1)*90+10));当n分别取100、1000、10000时,求ax的值分别是多少?b=num2str(floor(rand(1)*90+10));a=input('请输入数值')bn=0;ifx=='+'form=1:100y=a+b;n=n+1/(m*m);elseifx=='-'endy=a-b;n=6*n;elseifx=='*'x=sqrt(n);y=a*b;xelseifx=='/'y=a/b;mkelse21000011、编程求满足k1的disp('error')end最小m值。ysum=0;m=2;9、启动MATLAB后,点击File|New|M-File,a=1;启动MATLAB的程序编辑及调试器whilea(Editor/Debugger),编辑以下程序,fori=1:m点击File|Save保存程序,注意文件名sum=sum+2^i;最好用英文字符。点击Debug|Run运行ifsum>10000程序,在命令窗口查看运行结果,程序a=0;如有错误则改正。end注:数论中一个有趣的题目:任意一个正整end数,若为偶数,则用2除之,若为奇数,m=m+1;则与3相乘再加上1。重复此过程,最end终得到的结果为1。mn=input('请输入n值:');a=n;12、思考题whilen>1已知y和t的函数关系:ifrem(n,2)==0y(t)1tt2/2!t3/3!...t20/20!n=n/2;else求下面表格中与t对应的y值n=3*n+1;t0.20.40.60.81.0endya=[a,n];t=input('请输入t值:')endsum=0;afori=1:20b=factorial(i);sum=sum+t^i/b;m_x=sum_x/n;end%求最大值采用逐个比较方式sum=sum+1;ifx(1)>x(2)summax_x=x(1);else13、编写一个函数,计算下面函数的值,给max_x=x(2);出标量x的值,调用该函数后,返回yend的值。fork=3:nfunction[y]=myfun1(x)ifmax_x0&x<=3endy=x;fork=3:nelseifx>3ifmin_x>x(k)y=-x+6;min_x=x(k);endelsemin_x=min_x;%可省略14、编写一个函数求向量x中元素的平均值、end最大值、最小值、均方根值。endfunction%求均方根值[m_x,max_x,min_x,rms_x]=myfun2(x)sum_x2=0;fork=1:n方均根值(RootMeanSquare)的为:sum_x2=sum_x2+x(k).^2;rms_x=sqrt(sum_x2/n);1Nrmsx2endNim_x;i1max_x;用下面数据测试你写的函数:min_x;(1)x=sin(0:0.01:6*pi)rms_x;%按照函数值行参顺序输出结果(2)x=rand(1,200),得到的x为200个(0,1)之间均匀分布的随机数。15、编写一个函数,给出一个向量functionx[x,x,x][m_x,max_x,min_x,rms_x]=myfun2(x)%12n,生成如下范德求平均值蒙矩阵。sum_x=sum(x);%向量元素求和function[v]=myvander(x)[m,n]=size(x);%最好用n=length(x);111endxxxx;12nn=k;x2x2x212ns=(x-sqrt(a));ifs<=10^(-5)xn1xn1xn112ndisp('正确');例如:>>v=myvander([2345])else得v=disp('错误');1111end234517、在同一坐标系下绘制下面三个函数在491625t[0,4]的图象。82764125yt1function[v]=myvander(x)ytv1=vander(x);%生成范德蒙矩阵2y4e0.1tsin(t)v2=v1';3v=flipud(v2);%实现矩阵上下翻转>>t=0:0.1:4*pi;>>y1=t;16、思考题>>y2=t^(0.5);>>y2=sqrt(t);a>>y3=4*pi*eps(-0.1*t).*sin(t);编写程序,用如下迭代公式求,a的值>>plot(t,y1,t,y2,t,y3)分别为:3,17,113。迭代的终止条件xx10518、编写程序,选择合适的步距,绘制下面为n1n,迭代初值函数在区间[-6,6]中的图象。x1.0sinx,x00,迭代次数不超过100次。分别对迭代结果和准确值进行比较,并y(x)x,0x3xaxnx6,x3n122x统计迭代次数。nfunctiony=fun1(x)xay=[];xa注:x2a2x2x2axforx0=xxn22xn122xifx0<=0ny=[y,sin(x0)];function[x,n]=sqrt_a(a)elseifx0>0&&x0<=3x=1.0;y=[y,x0];fork=1:100elseifx0>3m=x;y=[y,6-x0];x=x/2+a/(2*x);endifabs(x-m)<=10^(-5)endbreak>>x=-6:0.1:6;end>>y=fun1(x);>>plot(x,y)式。对分法的基本思想是:一个一元方程f(x)=0,19、用compass函数画下面相量图若f(x1)*f(x2)<0,则在[x1,x2]区间ua=1;ub=内有实数解。取该区间的中点cos(-2*pi/3)+sin(-2*pi/3)*i;xm=(x1+x2)/2,判定f(x1)和f(x2)二uc=cos(2*pi/3)+sin(2*pi/3)*i;者中哪一个与f(xm)异号,若compass([ua,ub,uc,ua-ub,ub-uc,uc-ua])f(x1)*f(xm)<0,则解存在的区间缩小为[x1,xm],否则解存在的区间缩小为>>ua=1;[xm,x2]。重复这样的步骤,直到区间>>ob=cos(-2*pi/3)的长度小于一个可以接受的小数(比如>>ob=cos(-2*pi/3)+sin(-2*pi/3)*i;1e-10),则认为中点即是原方程的解。>>ub=cos(-2*pi/3)+sin(-2*pi/3)*i;>>x0=0;>>uc=cos(2*pi/3)+sin(2*pi/3)*i;x1=1;>>compass([ua,ub,uc,ua-ub,ub-uc,uc-ua])y=1;i=0;20、三维空间曲线绘制whiley~=0z=0:0.1:4*pi;i=i+1;x=cos(z);x3=(x0+x1)/2;y=sin(z);y=2*eps(-x3)-sin(x3);plot3(x,y,z)y0=2*eps(-x0)-sin(x0);>>z=0:0.1:4*pi;y1=2*eps(-x1)-sin(x1);>>x=cos(z);ify*y0<0>>y=sin(z);x0=x3;>>plot3(x,y,z)elseify*y1<0x1=x3;21、用mesh或surf函数,绘制下面方程所elseify==0表示的三维空间曲面,x和y的取值范x3=x3;围设为[-3,3]。end>>x=-3:0.01:3;ifi==1000000>>y=-3:0.01:3;y=0;>>[x,y]=meshgrid(x,y);end>>z=-x.*x/10+y.*y/10;End>>mesh(x,y,z)>>z=x.*x/10+y.*y/10;>>mesh(x,y,z)23、求代数方程3x54x47x32x29x12022、思考题的52exsinx个根,并将其用星号(*)标记在复平面图用对分法求解方程在[0,上。(用roots和plot函数)1]内的解,并验证,在程序中统计出对>>a=[3,4,7,2,9,12];分次数。>>y=roots(a)提示:先将原方程转化成>>plot(y,'*')f(x)2exsinx0的形求代数方程x510的5个根,并将其用星号(*)标记在复平面图上。(用roots>>x=fsolve('fun',0,optimset('Display','off'))和plot函数)>>程序:y3=5*10^(-11)*exp(1.6*x/(1.38*10^(-4)*>>a1=[1,0,0,0,0,-1];27)-1)>>y1=roots(a1)函数:>>plot(y1,'*')functiony=fun(x)y=5*10^(-11)*exp(1.6*x/(1.38*10^(-4)*27)-1)24、求下面函数在[0.5,4]区间内的过零点。+x-4;(用fzero函)126、实验数据处理:已知某压力传感器的测f(x)x32x2sin(x)5xcos(x)x试数据如下表>>x=0.5:0.01:4;p0.01.12.12.84.25.06.1>>y2=x.^3-2*x.^2.*sin(x)+5*x.*cos(x)+1./x;u10111314171822>>plot(x,y2)p为压力值,u为电压值,试用多项式函数:u(p)ap3bp2cpdfunctiony2=fz(x)y2=x.^3-2*x.^2.*sin(x)+5*x.*cos(x)+1./x;来拟合其特性函数,求出a,b,c,d,并分析:把拟合曲线和各个测试数据点画在同根据图像可知零点在x=1和x=3附近一幅图上。所以程序:>>fzero('fz',1)>>n=3;ans=>>p=[0.01.12.12.84.25.06.16.98.19.01.51179.9];>>fzero('fz',3)>>u=[1011131417182224ans=293439];2.6095>>f=polyfit(p,u,n)>>p1=0:10;25、>>u1=polyval(f,p1);>>plot(p,u,'*',p1,u1,'-')已知R=50欧姆,U=4V,二极管D正向电流与电压的关系为:Udq1IIeKTds求此电路中的电流Id和二极管正向电压Ud(要求用fsolve函数求解)程序:
/
本文档为【MATLAB试验题答案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索