




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1、求以下变量的值,并在MATLAB中验证。( 1 ) a = 1 : 2 : 5 a = 1 3 5( 2 ) b = a' , a' , a' ;a b = 1 1 1 3 3 3 5 5 5 1 3 5( 3 ) c = a + b ( 2 , : ) c = 4 6 82、下列运算是否合法,为什么?如合法,结果是多少? >> result2=a*b Error using * Inner matrix dimensions must agree. >> result3=a+bresult3 = 3 6 2 5 8 11>> r
2、esult4=b*dresult4 = 31 22 22 40 49 13>> result5=b;c'*dresult5 = 31 22 22 40 49 13 -5 -8 7>> result6=a.*bresult6 = 2 8 -3 4 15 30>> result7=a./bresult7 = 0.5000 0.5000 -3.0000 4.0000 1.6667 1.2000>> result8=a.cAttempt to reference field of non-structure array.>> resu
3、lt9=a.bresult9 = 2.0000 2.0000 -0.3333 0.2500 0.6000 0.8333>> result10=a.2result10 = 1 4 9 16 25 36>> result11=2.aresult11 = 2 4 816 32 643、用MATLAB求解下面的的方程组。(1)>> A=7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13>> B=4 7 -1 0>> B=B'>> x=inv(A)*B(2)>> A1=1 1 1 0;1
4、 2 1 -1;2 -1 0 -3;3 3 5 -6>> B2=1;8;3;5>> x2=inv(A1)*B24、已知(1)求矩阵A的秩(rank)(2)求矩阵A的行列式(determinant)(3)求矩阵A的逆(inverse)(4)求矩阵A的特征值及特征向量(eigenvalue and eigenvector)>> A3=7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13>> r=rank(A3)>> b=inv(A3)>> a=det(A3)>> V,D=eig(A3)5、,
5、求y=?(运行format long g命令后,查看y的值)m1=0;for m=-10:10m1=m1+2m;endm1m1 = 2047.99902343756、求分段函数的值。用if语句实现,算出下列表中x对应的y值。x=input('enter x=');if x<0 y=x2+x-6;elseif x>=0&&x<5 y=x2-5*x+6;else y=x2-x-1;endy7、分别用if和switch语句实现,将百分制成绩转换为成绩等级A、B、C、D、E。其中90100分为A,8089分为B,7079分为C,6069分为D,60分以
6、下为E。对超出百分制范围的成绩,给出错误提示信息。if结构程序:x=input('please enter score=');if x>=90&&x<=100 disp('A')elseif x<90&&x>=80 disp('B')elseif x<80&&x>=70 disp('C')elseif x<70&&x>=60 disp('D')elseif x<60&&x>=0
7、 disp('E')else disp('error')endswitch结构程序:x=input('please enter score=');switch fix(x/10) case10,9 if x>100 disp('error') else disp('A') end case8 disp('B') case7 disp('C') case6 disp('D') case0,1,2,3,4,5 disp('E') otherwise
8、disp('error')end8、思考题设计程序,完成成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输入一个运算符号,做相应的运算,并显示相应的结果。x=input('请输入运算符')a=num2str(floor(rand(1)*90+10);ab=num2str(floor(rand(1)*90+10);bif x='+' y=a+b;elseif x='-' y=a-b;elseif x='*' y=a*b;elseif x='/' y=a/b;else disp('e
9、rror')endy9、启动MATLAB后,点击File|New|M-File,启动MATLAB的程序编辑及调试器(Editor/Debugger),编辑以下程序,点击File|Save保存程序,注意文件名最好用英文字符。点击Debug|Run运行程序,在命令窗口查看运行结果,程序如有错误则改正。注:数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。n=input('请输入n值:');a=n;while n>1 if rem(n,2)=0 n=n/2; else n=3*n+1; end a=
10、a,n;enda10、根据,当n分别取100、1000、10000时,求x的值分别是多少?a=input('请输入数值')n=0;for m=1:100 n=n+1/(m*m);endn=6*n;x=sqrt(n);x11、编程求满足的最小m值。sum=0;m=2;a=1;while a for i=1:m sum=sum+2i; if sum>10000 a=0; end end m=m+1;endm12、思考题已知y和t的函数关系:求下面表格中与t对应的y值t0.20.40.60.81.0yt=input('请输入t值:')sum=0;for i=1:
11、20 b=factorial(i); sum=sum+ti/b;endsum=sum+1;sum13、编写一个函数,计算下面函数的值,给出标量x的值,调用该函数后,返回y的值。function y=myfun1(x)选择一些数据测试你编写的函数。 function y=myfun1(x) if x<=0 y=sin(x); elseif x>0&x<=3 y=x; elseif x>3 y=-x+6; end 14、编写一个函数求向量x中元素的平均值、最大值、最小值、均方根值。function m_x,max_x,min_x,rms_x=myfun2(x)方均根
12、值(Root Mean Square)的计算公式为:用下面数据测试你写的函数:(1)x=sin(0:0.01:6*pi)(2)x=rand(1,200),得到的x为200个(0,1)之间均匀分布的随机数。function m_x,max_x,min_x,rms_x=myfun2(x) %求平均值 sum_x=sum(x); %向量元素求和 m,n=size(x); %最好用n=length(x); m_x=sum_x/n; %求最大值 采用逐个比较方式 if x(1)>x(2) max_x=x(1); else max_x=x(2); end for k=3:n if max_x<
13、x(k) max_x=x(k); else max_x=max_x; %可省略 end end %求最小值 if x(1)<x(2) min_x=x(1); else min_x=x(2); end for k=3:n if min_x>x(k) min_x=x(k); else min_x=min_x; %可省略 end end %求均方根值sum_x2=0; for k=1:n sum_x2=sum_x2+x(k).2; rms_x=sqrt(sum_x2/n);end m_x; max_x; min_x; rms_x; %按照函数值行参顺序输出结果 15、编写一个函数,给出一
14、个向量,生成如下范德蒙矩阵。function v=myvander(x)例如:>>v=myvander(2 3 4 5)得v=function v=myvander(x) v1=vander(x); %生成范德蒙矩阵v2=v1' v=flipud(v2); %实现矩阵上下翻转 16、思考题编写程序,用如下迭代公式求,a的值分别为:3,17,113。迭代的终止条件为,迭代初值,迭代次数不超过100次。分别对迭代结果和准确值进行比较,并统计迭代次数。 function x,n=sqrt_a(a) x=1.0; for k=1:100 m=x; x=x/2+a/(2*x); if
15、 abs(x-m)<=10(-5) break end endx; n=k; s=(x-sqrt(a); if s<=10(-5) disp('正确'); else disp('错误'); end 17、在同一坐标系下绘制下面三个函数在tÎ0,4p的图象。>> t=0:0.1:4*pi;>> y1=t;>> y2=t(0.5);>> y2=sqrt(t);>> y3=4*pi*eps(-0.1*t).*sin(t);>> plot(t,y1,t,y2,t,y3)18、编
16、写程序,选择合适的步距,绘制下面函数在区间-6,6中的图象。function y=fun1(x)y=;for x0=x if x0<=0 y=y,sin(x0); elseif x0>0&&x0<=3 y=y,x0; elseif x0>3 y=y,6-x0; end end>> x=-6:0.1:6;>> y=fun1(x);>> plot(x,y)19、用compass函数画下面相量图ua = 1 ; ub = cos(-2*pi/3)+sin(-2*pi/3)*i ; uc=cos(2*pi/3)+sin(2*p
17、i/3)*i;compass(ua,ub,uc,ua-ub,ub-uc,uc-ua)>> ua=1;>> ob=cos(-2*pi/3)>> ob=cos(-2*pi/3)+sin(-2*pi/3)*i;>> ub=cos(-2*pi/3)+sin(-2*pi/3)*i;>> uc=cos(2*pi/3)+sin(2*pi/3)*i;>> compass(ua,ub,uc,ua-ub,ub-uc,uc-ua)20、三维空间曲线绘制z=0:0.1:4*pi;x=cos(z);y=sin(z);plot3(x,y,z)>
18、> z=0:0.1:4*pi;>> x=cos(z);>> y=sin(z);>> plot3(x,y,z)21、用mesh或surf函数,绘制下面方程所表示的三维空间曲面,x和y的取值范围设为-3,3。>> x=-3:0.01:3;>> y=-3:0.01:3;>> x,y=meshgrid(x,y);>> z=-x.*x/10+y.*y/10;>> mesh(x,y,z)>> z=x.*x/10+y.*y/10;>> mesh(x,y,z)22、思考题用对分法求解方
19、程在0,1内的解,并验证,在程序中统计出对分次数。提示:先将原方程转化成的形式。对分法的基本思想是:一个一元方程f(x)=0,若f(x1)*f(x2)<0,则在x1,x2区间内有实数解。取该区间的中点xm=(x1+x2)/2,判定f(x1)和f(x2)二者中哪一个与f(xm)异号,若f(x1)*f(xm)<0,则解存在的区间缩小为x1,xm,否则解存在的区间缩小为xm,x2。重复这样的步骤,直到区间的长度小于一个可以接受的小数(比如1e-10),则认为中点即是原方程的解。>> x0=0;x1=1;y=1;i=0;while y=0 i=i+1; x3=(x0+x1)/2
20、; y=2*eps(-x3)-sin(x3); y0=2*eps(-x0)-sin(x0); y1=2*eps(-x1)-sin(x1); if y*y0<0 x0=x3; elseif y*y1<0 x1=x3; elseif y=0 x3=x3; end if i=1000000 y=0; endEnd23、求代数方程的5个根,并将其用星号(*)标记在复平面图上。(用roots和plot函数)>> a=3,4,7,2,9,12;>> y=roots(a)>> plot(y,'*')求代数方程的5个根,并将其用星号(*)标记在复
21、平面图上。(用roots和plot函数)程序:>> a1=1,0,0,0,0,-1;>> y1=roots(a1)>> plot(y1,'*')24、求下面函数在0.5,4区间内的过零点。(用fzero函)>> x=0.5:0.01:4;>> y2=x.3-2*x.2.*sin(x)+5*x.*cos(x)+1./x;>> plot(x,y2)函数:function y2=fz(x) y2=x.3-2*x.2.*sin(x)+5*x.*cos(x)+1./x;分析:根据图像可知零点在x=1和x=3附近所以>> f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/IEC 24759:2025 EN Information security,cybersecurity and privacy protection - Test requirements for cryptographic modules
- 居间服务合同居间服务合同
- 三农公共服务体系搭建作业指导书
- 工作流程优化实施情况表
- 公建房屋租赁合同
- 人合作协议书合同
- 产品认证合同协议书
- 三农领域创业指导与支持方案集锦
- 房地产销售联合代理合同
- 2025年兰州货运上岗证考试
- 家校共育之道
- DeepSeek入门宝典培训课件
- 西安2025年陕西西安音乐学院专职辅导员招聘2人笔试历年参考题库附带答案详解
- 《作文中间技巧》课件
- 广东省2025年中考物理仿真模拟卷(深圳)附答案
- 2025届八省联考 新高考适应性联考英语试题(原卷版)
- 新苏教版一年级下册数学第1单元第3课时《8、7加几》作业
- 2024年山东电力高等专科学校高职单招职业技能测验历年参考题库(频考版)含答案解析
- 《平面广告赏析》课件
- 【公开课】同一直线上二力的合成+课件+2024-2025学年+人教版(2024)初中物理八年级下册+
- 人教鄂教版六年级下册科学全册知识点
评论
0/150
提交评论