admin 管理员组文章数量: 1086019
2024年2月25日发(作者:西安导轨滑块)
湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书
《MATLAB及应用》实验指导书
《MATLAB及应用》实验指导书
班 级: T1243-7
* 名: * * *
学 号: ***********
总评成绩:
汽车工程学院
I
湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书
电测与汽车数字应用中心
II
湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书
目录
实验04051001 MATLAB语言基础 ............................................. 1
实验04051002 MATLAB科学计算及绘图 ...................................... 18
实验04051003 MATLAB综合实例编程 ........................................ 31
III
湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书
实验04051001 MATLAB语言基础
操作成绩
报告成绩
1实验目的
1) 熟悉MATLAB的运行环境
2) 掌握MATLAB的矩阵和数组的运算
3) 掌握MATLAB符号表达式的创建
4) 熟悉符号方程的求解
2实验内容
第二章
1. 创建double的变量,并进行计算。
(1) a=87,b=190,计算 a+b、a-b、a*b。
clear,clc
a=double(87);
b=double(190);
a+b,a-b,a*b
(2) 创建 uint8 类型的变量,数值与(1)中相同,进行相同的计算。
clear,clc
a=uint8(87);
b=uint8(190);
a+b,a-b,a*b
1
湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书
2.计算:
(1)
sin60
(2) e3
cos3(3)
4
clear,clc
a=sind(60)
b=exp(3)
c=cos(3*pi/4)
3.设u2,v3,计算:
4uv(1)
logv
euv2(2)
v2u
u3v(3)
uv
clear,clc
u=2;v=3;
a=(4*u*v)/log(v)
b=((exp(u)+v)^2)/(v^2-u)
c=(sqrt(u-3*v))/(u*v)
4.计算如下表达式:
(1)
35i42i
(2)
sin28i
clear,clc
(3-5*i)*(4+2*i)
sin(2-8*i)
2
湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书
5.判断下面语句的运算结果。
(1) 4 < 20
(2) 4 <= 20
(3) 4 == 20
(4) 4 ~= 20
(5) 'b'<'B'
clear,clc
4 < 20 , 4 <= 20,4 == 20,4 ~= 20,'b'<'B'
6.设a39,b58,c3,d7,判断下面表达式的值。
(1)
ab
(2)
ac
(3)
ab&&bc
(4)
ad
(5)
a|bc
(6)
~~d
clear,clc
a=39;b=58;c=3;d=7;
a>b,a
7.编写脚本,计算上面第2题中的表达式。
clear,clc
disp('sin(60)=');
disp(sind(60))
disp('exp(3)=');
disp(exp(3))
disp('cos(3*pi/4)=');
3
湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书
disp(cos(3*pi/4))
8.编写脚本,输出上面第6题中的表达式的值。
clear,clc
a=39;b=58;c=3;d=7;
disp('a>b');disp(a>b)
disp('a disp('a>b&&b>c');,disp(a>b&&b>c) disp('a==d');disp(a==d) disp('a|b>c');disp(a|b>c) disp('~~d');disp(~~d) 第三章 1. 在命令提示符下输入以下两条命令: >> x = [ 9 3 0 6 3] >> y = mod((sqrt(length(((x+5).*[1 2 3 4 5]))*5)),3) 求y值为多少? 2. 在MATLAB中运行以下命令: a = [3, 7, 2, 7, 9, 3, 4, 1, 6]; b = [7]; a(4) = []; vec1 = a==b; vec2 = mod(a,2)==0; c = sum(vec1); vec3 = vec1+vec2; d = vec3.*a; vec4 = find(a > 5); e = a(vec4) + 5; vec5 = find(a < 5); 4 湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书 f = vec5.^2; 求c、d、e、f的值。 clear,clc a = [3, 7, 2, 7, 9, 3, 4, 1, 6]; b = [7]; a(4) = []; vec1 = a==b; vec2 = mod(a,2)==0; c = sum(vec1); vec3 = vec1+vec2; d = vec3.*a; vec4 = find(a > 5); e = a(vec4) + 5; vec5 = find(a < 5); f = vec5.^2; disp('c=');disp(c) disp('d=');disp(d) disp('e=');disp(e) disp('f=');disp(f) 3. 向量操作时MATLAB的主要部分,使用给出的向量来做下面的练习。 注意: 不要直接给出下列问题中任何一个的最终结果,不要在问题的任何部分使用迭代。 vec=[4 5 2 8 4 7 2 64 2 57 2 45 7 43 2 5 7 3 3 6253 3 4 3 0 -65 -343] (1)创建一个新的向量vecR,使其为vec的转置。 (2)创建一个新的向量vecB,使其为vec中的前半部分与后半部分对换的结果,这样vecB包含的元素为vec的后半部分紧接着vec的前半部分。 (3)创建一个新的向量vecS,使其包含vec中所有小于45的元素,且元素按照vec中的顺序排列。 5 湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书 (4)创建一个新的向量vec3R,使其从vec中从最后一个元素开始,并且间隔三个元素取一个元素,直到第一个元素为止。 (5)创建一个新的向量vecN,使其包含vec中所有等于2或4的元素的索引值。 (6)创建一个新的向量vecG,使其包含vec中去掉索引值为奇数且取值为2或4的元素后的所有元素。 clear,clc vec=[4 5 2 8 4 7 2 64 2 57 2 45 7 43 2 5 7 3 3 6253 3 4 3 0 -65 -343]; vecR=vec'; disp('vecR=[]');disp(vecR) a=length(vec); vecB=[vec(a/2+1:a) vec(1:a/2)]; disp('vecB=[]');disp(vecB) C=find(vec<45); vecS=vec(C); disp('vecS=[]');disp(vecS) vec3R=vec(end:-4:1); disp('vec3R=[]');disp(vec3R) vecN=find(vec==2|vec==4); disp('vecN=[]');disp(vecN) d=vec(2:2:end); vecG=d(find(d~=2&d~=4)); disp('vecG=[]');disp(vecG) 4. 给定以下3个向量: nums1=[7 1 3 5 32 12 1 99 10 24]; nums2=[54 1 456 9 20 45 48 72 61 32 10 94 11]; nums3=[44 11 25 41 84 77 998 85 2 3 15]; 编写脚本文件创建相应的3个向量:newNums1、newNums2和newNums3,分别包含以上3个向量 6 湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书 中从第一元素开始且间隔取值的元素。 例如: numsEX=[6 3 56 7 8 9 445 6 7 437 357 5 4 3] newsNumsEx=>[6 56 8 445 7 357 4] 注意: 不能直接将相关数值输入答案中,如果再命令提示符下输入: >>newNumEx=[6 56 8 445 7 357 4] 将不能得分。 提示: 对于3个向量而言,其解决方法应当是一样的,只是变换向量名称而已。 clear,clc nums1=[7 1 3 5 32 12 1 99 10 24]; nums2=[54 1 456 9 20 45 48 72 61 32 10 94 11]; nums3=[44 11 25 41 84 77 998 85 2 3 15]; newNums1=nums1(1:2:end) newNums2=nums2(1:2:end) newNums3=nums3(1:2:end) 思考题 1. MATLAB中,数组与矩阵在表示与应用上有哪些区别。 一维数组相当于向量,二维数组相当于矩阵.所以矩阵是数组的子集 数组运算是指数组对应元素之间的运算,也称点运算.矩阵的乘法、乘方和除法有特殊的数学含义,并不是数组对应元素的运算,所以数组乘法、乘方和除法的运算符前特别加了一个点。 矩阵是一个二维数组,所以矩阵的加、减、数乘等运算与数组运算是一致的。但有两点要注意: (1)对于乘法、乘方和除法等三种运算,矩阵运算与数组运算的运算符及含义都不同:矩阵运算按线性变换定义,使用通常符号;数组运算按对应元素运算定义,使用点运算符; (2)数与矩阵加减、矩阵除法在数学是没有意义的,在MATLAB中为简便起见,定义了这两类运算 7 湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书 实验04051002 MATLAB科学计算及绘图 操作成绩 报告成绩 1实验目的 1) 熟悉MATLAB所提供的常用数值计算的函数(方程(组)的求解、插值、拟合); 2) 掌握MATLAB二维图形绘制命令及其图形控制(plot、loglog、contour、polar等); 3) 熟悉MATLAB三维图形绘制命令及其图形控制(mesh、surf等)。 2实验内容 第四章 1. 有如下数据: x y 1 1.00000 1.1 1.23368 1.2 1.55271 1.3 1.99372 1.4 2.61170 利用本章介绍的几种插值方法对其进行插值,得到每隔0.05的结果。 clear,clc x=[1 1.1 1.2 1.3 1.4]; y=[1.00000 1.23368 1.55271 1.99372 2.61170]; scalar_x=x(1):0.05:x(end); y_nearest=interp1(x,y,scalar_x,'nearest'); y_linear =interp1(x,y,scalar_x,'linear'); y_spline =interp1(x,y,scalar_x,'spline'); y_cubic =interp1(x,y,scalar_x,'cubic'); subplot(2,2,1),plot(x,y,'*'),hold on, plot(scalar_x,y_nearest),title('method=nearest'); subplot(2,2,2),plot(x,y,'*'),hold on, 8 湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书 plot(scalar_x,y_linear),title('method=linear'); subplot(2,2,3),plot(x,y,'*'),hold on, plot(scalar_x,y_spline),title('method=spline'); subplot(2,2,4),plot(x,y,'*'),hold on, plot(scalar_x,y_cubic),title('method=cubic'); 2. 求下列函数的解,并绘制图形。 x5(1) yex,初始点为x8 (2) yxsinx clear,clc %第一小题 y_1=@(x)exp(x)-x^5; x0 =8; subplot(1,2,1), hold on,fplot(y_1,[x0,x0+10]),title('exp(x)-x^5'); %第二小题 y_2=@(x)x*sin(x); subplot(1,2,2), hold on,fplot(y_2,[-pi,pi]),title('x*sin(x)'); 9 湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书 3. 求下列函数的极值。 (1) (2) zx2y1zxy122 clear,clc z_1 = @(x)x(1)^2-(x(2)-1)^2; [x,fvalue,flag,output]=fminsearch(z_1,[0,0]) disp('第二小题') z_2 = @(x)(x(1)-x(2)+1)^2; [x,fvalue,flag,output]=fminsearch(z_2,[0,0]) 4. 计算下列积分。 (1) 1 1xx3x5dx (2) 110101sinyxydxdyx24 10 湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书 clear,clc fun1=@(x)x+x.^3+x.^5; q = quad(fun1,-1,1) fun2=@(x,y)sin(y).*((x+y)./(x.^2+4)); q = dblquad(fun2,1,10,1,10) 第八章 1. 编写程序,该程序在同一窗口中绘制函数在 0,2之间的正弦曲线和余弦曲线,步长为 /10,线宽为 4 个象素,正弦曲线设置为蓝色实线,余弦曲线颜色设置为红色虚线,两条曲线交点处,用红色星号标记。 clear,clc x=0:pi/10:2*pi; f=@(x)(cos(x)-sin(x)); x1=fzero(f,[0,pi]); x2=fzero(f,[pi,2*pi]); plot(x,sin(x),'b-','LineWidth',4),hold on,plot(x,cos(x),'r:','LineWidth',4); plot(x1,sin(x1),'rh','markerfacecolor','y','markersize',10); plot(x2,sin(x2),'rh','markerfacecolor','y','markersize',10); 11 湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书 2. 绘制下列图像 (1)yxsinx,0x10 22zx6xyy6x2y1,10x10,10y10 (2)三维曲线:x2y2z164,16x16,4y4 (3)双曲抛物面:clear,clc x = 0:pi/100:10*pi; y=x.*sin(x); subplot(1,3,1),plot(x,y,'b'),title('y=x*sinx') %µÚ£¨2£©Ð¡Ìâ [X,Y] = meshgrid(-10:0.2:10); Z = X.^2 + 6*X*Y + Y.^2 + 6*X + 2*Y -1; subplot(1,3,2),mesh(X,Y,Z),title('三维曲面') %µÚ£¨3£©Ð¡Ìâ 12 湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书 [X,Y] = meshgrid(-16:0.2:16,-4:0.1:4); Z = X.^2/16 - Y.^2/4; subplot(1,3,3),mesh(X,Y,Z),title('双曲线抛物面') 3. 绘制下列图像 (1)绘制电脑磁盘使用情况的饼状图 (2)生成 100 个从 0 到 10 之间的随机整数,绘制其直方图 (3)生成 10个从 0 到 10 之间的随机整数,绘制其阶跃图 clear,clc x=[37 63]; subplot(1,3,1),pie(x,{'可用空间37%','已用空间63%'}),title('饼状图'); subplot(1,3,2),hist(round(rand(100,1)*10)),title('直方图'); subplot(1,3,3),stairs(round(rand(10,1)*10)),title('阶跃图'); 13 湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书 4. 分别通过界面交互方式和函数方式在第 1 题生成的图形中添加注释,至少应包括:标题,文本注释,图例。 clear,clc x=0:pi/10:2*pi; f=@(x)(cos(x)-sin(x)); x1=fzero(f,[0,pi]); x2=fzero(f,[pi,2*pi]); plot(x,sin(x),'b-','LineWidth',4),hold on,plot(x,cos(x),'r:','LineWidth',4); plot(x1,sin(x1),'rh','markerfacecolor','y','markersize',10); plot(x2,sin(x2),'rh','markerfacecolor','y','markersize',10); title('正弦曲线和余弦曲线及其交点');xlabel('x'),ylabel('y=sinx y=cosx'); text(3,0.3,'sin(x)') text(1.0,-0.2,'cos(x)') text(1.0,0.7,'x=pi/4,sin(x)=cos(x)') text(4.1,-0.7,'x=3*pi/4,sin(x)=cos(x)') legend('sin(x)','cos(x)') 14 湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书 5.对第 2 题中绘制的双曲抛物面尝试进行视点控制和颜色控制。 clear,clc x = 0:pi/100:10*pi; y=x.*sin(x); subplot(1,3,1),plot(x,y,'b'),title('y=x*sinx') %第二小题 [X,Y] = meshgrid(-10:0.2:10); Z = X.^2 + 6*X*Y + Y.^2 + 6*X + 2*Y -1; subplot(1,3,2);mesh(X,Y,Z),title('三维曲面'),view(50,60); colormap(jet); %第三小题 [X,Y] = meshgrid(-16:0.2:16,-4:0.1:4); Z = X.^2/16 - Y.^2/4; subplot(1,3,3),mesh(X,Y,Z),title('双曲面抛物线'),view(30,60); colormap(flag); 15 湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书 思考题 1. MATLAB求多项式的根是用什么方法,与传统方法相比有何优点 用roots(a)函数,a是所要求根的多项式函数,相比传统方法更方便 2. 画出横坐标在(-15,15)上的ysin(x)函数的曲线,应该使用什么命令。 Plot([-15,15],sin(x)); 3. 请思考网络线有什么作用,为什么要对图形进行标注。 网格线可以使图像具有更好的可读性;标注使图形表达信息更加清晰。 16 湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书 实验04051003 MATLAB综合实例编程 操作成绩 报告成绩 1实验目的 1) 了解Windows界面编程的基本概念和方法掌握MATLAB程序设计的方法; 2) 熟悉MATLAB/GUI的基本特点;掌握MATLAB/GUI编制的基本步骤; 3) 掌握MATLAB/Simulink的使用方法和基本步骤; 4) 将MATLAB应用到所学专业。 2 实验内容 第十一章 •2x14x1x2x2x3•2x22x1x310xxx81232. 求解微分方程,初始条件x1=x2=0。 17 湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书 4. 在水平角度30方向,以100 m/s的速度来投掷一个抛射物。建立一个Simulink模型以求解这个抛射物的运动方程,其中,x和y分别是这个抛射物的水平和垂直位移。 = 0 x(0) = 0 x(0) = 100 cos 30• x 18 湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书 y= -g y(0) = 0 y(0) = 100 sin 30• 使用这个模型来绘制这条抛射物轨迹y相对于x的图形,其中,0≤t≤10 s。 plot(simout(:,1),simout(:,2)),hold on,title('抛物线轨迹Y相对X图形'); xlabel('0-10秒内水平方向位移X'),ylabel('0-10秒内竖直方向位移Y'); 19 湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书 5. 考虑图中所示的系统。运动方程是: m1 x1 + (c1 + c2) x1+ (k1 + k2)x1 - c2 x2 - k2x2 = 0 m2x2+ c2 x2+ k2x2 - c2 x1- k2x1 = f (t) 假设m1 = m2 = 1, c1 = 3, c2 = 1, k1 = 1和k2 = 4。 (1). 开发这个系统的Simulink模型。在开发系统模型的时候,考虑是使用模型的状态-变量表示法还是传递-函数表示法。 (2) 使用Simulink模型,针对以下输入绘制响应x1(t)的图形。其初始条件为0。 f (t) = t2t0 0t1 1t2t2 方法一:线性状态—变量模型 令:z1=x1,z2=x1’,z3=x2,z4=x2’; {z1’=z2; Z2’=-5z1-4z2+4z3+z4; Z3’=z4; Z4’=4z1+z2-4z3-z4+f(t);} A=[0,1,0,0;-5,-4,4,1;0,0,0,1;4,1,-4,-1],B=[0;0;0;1],C=[1,0,0,0;0,0,1,0],D=[0;0] 20 湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书 方法二:传递函数模型 21 湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书 状态—变量模型与传递函数模型相比,传递函数模型得到的结果更接近真实情况,结果更精确。 两图中虚线为X1(t)图形。 思考题: 结合本次试验,谈谈学习MATLAB的心得体会: 以前数学建模,初步了解到了MATLAB,但仅处于了解阶段。本学期比较系统地学习了MATLAB,掌握了一些编程与应用技巧。在上MATLAB课之前,打算在课上好好学习这个软件,然后上课了发现,大学还是得靠自己,老师教你基本的使用,想深层次的去运用软件解决问题,还是得平时多花时间。在其它课程的学习中,我应用MATLAB解决了一些比较复杂的计算问题,这开始让我认识到MATLAB的重要性。通过进一步的学习,我逐渐体会到MATLAB功能强大,应用广泛。作为工科生,掌握MATLAB已经成为一项重要的技能。这些课后习题,让我注意了平时没有注意到的细节,这样在以后学习MATLAB就能够更加的得心应手,让他更好的为我们的工作带来方便和高效。 22 湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书 23 湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书 24
版权声明:本文标题:MATLAB基础教程薛山第二版课后习题答案讲解 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1708855313a532788.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论