版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MATLAB语言实验指导书中国矿业大学信息与电气工程学院2014年3月实验一 MATLAB工作环境熟悉及基本运算一、实验目的:熟悉MATLAB的工作环境,学会使用MATLAB进行一些简单的运算。掌握基本的矩阵运算及常用的函数。二、实验内容:MATLAB的启动和退出,熟悉MATLAB的桌面(Desktop),包括菜单(Menu)、 工具条 (Toolbar)、命令窗口(Command Window)、历史命令窗口、工作空间(Workspace) 等;完成一些基本的矩阵操作;学习使用在线帮助系统。三、实验步骤:1、启动 MATLAB,熟悉 MATLAB的桌面。2、在命令窗口执行命令完成以下运算,观
2、察workspace的变化,记录运算结果。(1) (365-52 2-70)3 =(2) area=pi*A2 =(3)已知 x=3, y=4,在 MATLAB 中求 z:2 3=576x y2x y(4)将下面的矩阵赋值给变量ml,在workspace中察看ml在内存中占用的字节数。16 23135 11 10 8m1 =976124 14 151执行以下命令>>m1( 2,3 )=10>>m1( 11 )=6>>m1( :, 3 )= 3 10 6 15>>m1( 2 : 3,1 : 3 )= 5 11 10;9 7 6>>m1(
3、 1 ,4 ) + m1( 2 ,3 ) + m1( 3 ,2 ) + m1( 4 ,1)=34(5)执行命令>>help abs查看函数abs的用法及用途,计算 abs( 3 + 4i )=5(6)执行命令>>x=0:6*pi;>>y=5*sin(x);>>plot(x,y)(7)运行MATLAB的演示程序,>>demo ,以便对 MATLAB有一个总体了解。1123241abc 045613523、矩阵运算147d852360(1)下列运算是否合法,为什么如合法,结果是多少.result1 = a'=1 4;2 5;3 6
4、.result2 = a * b (维数不同).result3 = a + b=3 6 2;5 8 11.result4 = b * d= 31 22 22;40 49 13.result5 = b ; c' * d= 31 22 22;40 49 13;-5 -8 7.result6 = a . * b= 2 8 -3;4 15 30 .result7 = a . / b=; .result8 = a . * c=(维数不同) .result9 = a . b=;.result10 = a . A2=1 4 9;16 25 36 ? . result11 = a 人2=? . res
5、ult11 = 2 . a a=2 4 8;16 32 64(2)用MATLAB求下面的的方程组。x 2y z w 82x y 3w 33x 3y 5z 6w 5=1,5-5-2,X=inv(A)*b7212(3)已知A9153222 115132 13(1)求矩阵A的秩(rank)=4(2)求矩阵 A 的行列式(determinant)= 12568(3)求矩阵A的逆(inverse)=(4)求矩阵A的特征值及特征向量 (eigenvalue and eigenvector) =+-4、关系运算与逻辑运算已知 a=20,b=-2,c=0,d=1(1) r1 = a > b=1(2) r
6、2 = a > b & c > d=0(3) r3 = a = b* (-10) =1(4) r4 = -b | c=0四、思考题1、以下变量名是否合法为什么(1) x2(2) 3col(3) _row(4) for定义变量变量名、函数名对字母大小写敏感。MAY、may表示不同变量。变量名第一个字母必须是英文字母,且不能超过65个字符。变量名中不得包含空格、标点但可包含下连符,如 my_var是合法的变量名。2、求以下变量的值,并在 MATLAB中验证。(1) a = 1 : 2 : 5 ; a= 1 3 5(2) b = a' a' a'b= 11
7、1333555(3) c = a + b ( 2,: ) C= 4 6 8实验二MATLAB数值运算与作图一、实验目的:掌握MATLAB常用的数值运算函数。二、实验内容:5/4 r 32*)标记在1、求代数方程3x 4x 7x 2x 9x 12 。的5个根,并将其用星号( 复平面图上。(用roots和plot函数)。x =+-+1.5-1.50.5-0.5-1-1-0.8-0.6-0.4-0.200.20.40.60.8A=3,4,7,2,9,12;x=roots(A)plot(x,'*');grid;roots 和2、求代数方程x51 0的5个根,并将其用星号(*)标记在复平
8、面图上。plot函数)。A=1,0,0,0,0,-1;x=roots(A)plot(x,'*');grid;x =10.80.60.40.20-0.2-0.4-0.6-0.8-1-0.8-0.6-0.4-0.200.20.40.60.81-13、求下面函数在,4区间内的过零点。(用fzero函)x = fzero(fun,x0) %查找fun函数在x0附近的零点3-2.,、,、1f (x) x 2x sin(x) 5xcos(x) x0.511.522.533.54%估计零点fplot('xA3+1 /x',4);hold on;fplot('2*xA2
9、*sin(x)-5*x*cos(x)',4); hold off;m,n=ginput(2)m =y1=fzero('xA3-2*xA2*sin(x)+5*x*cos(x)+1 /x',y1 =y2=fzero('xA3-2*xA2*sin(x)+5*x*cos(x)+1 /x',y2 =%建立函数function y=f(x)y=xA3-2*xA2*sin(x)+5*x*cos(x)+1 /x;%调用函数>> y1=fzero('fz',y1 =>> y2=fzero('fz',y2 =4、实验数
10、据处理(选做)已知某压力传感器的测试数据如下表pu1011131417182224293439,、3.2.p为压力值,u为电压值,试用多项式u( p) ap bp cp d来拟合其特性函数,求出a,b,c,d,并把拟合曲线和各个测试数据点画在同一幅图上。调用方法:polyfit(x,y,n)。用多项式求过已知点的表达式,其中x为源数据点对应的横坐标,可为行向量、矩阵,y为源数据点对应的纵坐标,可为行向量、矩阵, n为你要拟合的 阶数用法:linspace(x1,x2,N)功能:linspace是Matlab中的均分计算指令,用于产生x1,x2之间的N点行线性 的矢量。其中x1、x2、N分别为起
11、始值、终止值、元素个数。若默认 N,默认点 数为100。y = polyval(p,x)返回n次多项式p在x处的值。输入变量p是一个长度为n+1的向量,其元素为 按隆塞排列的多项式系数。y=p1*xAn+p2*xA(n-1)+pn*x+p(n+1)>> p=,;u=10,11,13,14,17,18,22,24,29,34,39;x=polyfit(p,u,3)%得多项式家数t=linspace(0,10,100);y=polyval(x,t);%< 多项式得值plot(p,u,'*',t,y,'r')% 画拟和曲线012345678g1040
12、35302520151055、三维空间曲线绘制z=0:4*pi;x=cos(z);y=sin(z);plot3(x,y,z)>> z=0:4*pi;x=cos(z);y=sin(z);plot3(x,y,z,'rp');title('三维空间曲线,);text(0,0,0,'origin');xlabel('X'),ylabel('Y'),zlabel('Z'); grid;6、用mesh或surf函数,绘制下面方程所表示的三维空间曲面,x和y的取值范围设为-3,3。10 10立体网状图Z>
13、;>x=-3:3;x,y=meshgrid(x);z=-x.A2/10+y.A2/10;mesh(x,y,z);xlabel('X'),ylabel('Y'),zlabel('Z'); title('立体网状图,);>>x=-3:3;x,y=meshgrid(x);z=-x.A2/10+y.A2/10;surf(x,y,z);xlabel('X'),ylabel('Y'),zlabel('Z'); title('立体曲面图');Z立体曲面图实验三 MATLA
14、B程序设计、实验目的:掌握MATLAB程序编辑、运行及调试方法。、实验内容:1、熟悉MATLAB的m文件启动 MATLAB后,点击 File|New|M-File ,启动 MATLAB的程序编辑及调试器(Editor/Debugger ),编辑以下程序,点击File|Save保存程序,注意文件名最好用英文字符。点击Debug|Run运行程序,在命令窗口查看运行结果,程序如有错误则改正。注:数论中一个有趣的题目:任意一个正整数,若为偶数,则用 2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如:2 1310 516 842163 105 168421运行下面的程序,按程序提
15、示输入n=1,2,3,5,7等数来验证这一结论。%classic "3n+1" problem from number theory. while 1n=input( 'Enter n,negative quits:');if n<=0breakenda=n;while n>1if rem(n,2)=0 n=n/2;elsen=3*n+1;end a=a,n;endaenda = 1a = 21a =3105168a =51684a = 7221134842 12.循环语句编程2117522621134020105162根据一 6的近似值。当 n
16、=100、1000、10000时,结果是多少while 1k=input('Enter k,negative quits:');x=0;for m=1:kx=x+1/mA2endx =sqrt(6*x)end(2)用for循环和while循环语句求 1! +2! +10!的值. x =4037913k=10;x=0;n=1;for m=1:kn=m*n*1 ;x=x+n;endxk=3;x=0;n=1;m=1;while m<=kn=m*n*1 ;x=x+n;m=m+1;endx3 .条件语句编程试用if或switch语句完成卷面成绩score的转换:(1) score
17、> 90 分,优;(2) 90 > score >80 分,良;(3) 80 > score >70 分,中;(4) 70 > score >60 分,及格;(5) 60score,不及格。while 1k=input('Enter k,negative quits:');switch fix(k/10) case 9,10 case 8 case 7 case 6 otherwise enddisp('grade is 优')disp('grade is 良')disp('grade is 中&
18、#39;)disp('grade is 及格')disp('grade is 不及格')c= input('Enter k,negative quits:');if c>=90disp('grade is 优')elseif c>=80& c<90 disp('grade is 良')elseif c>=70& c<80 disp('grade is 中')elseif c>=60& c<70 disp('grade is 及格')elsedisp('grade is 不及格') end4 .函数编写(选做)编写一个函数,计算下面函数的值,给出标量x的值,调用该函数后,y的值。function y=myfun1(x)si
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 招投标项目成本控制与优化
- 节能减排廉洁自律招投标守则
- 咖啡馆租赁合同草稿
- 腹股沟斜疝修补术后护理
- 建筑施工劳务合同:旅游设施建设
- 医疗机构市场营销与市场定位
- 公路充电设施维护合同范本
- 木材加工安全事故预防
- 屋顶修复漏水施工合同
- 制造业用工规范承诺书
- 山西省太原市2024-2025学年高三上学期期中物理试卷(含答案)
- 酒店岗位招聘面试题与参考回答2025年
- (统编2024版)道德与法治七上10.1爱护身体 课件
- 公安接处警培训
- GB/T 30391-2024花椒
- 供电线路维护合同
- 胸部术后护理科普
- 鞋子工厂供货合同模板
- 2024码头租赁合同范本
- 木材采运智能决策支持系统
- 政府数据信息保密协议范本
评论
0/150
提交评论