MATLAB基础教程 薛山第二版 课后习题答案

更新时间:2024-05-18 22:55:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书

《MATLAB及应用》实验指导书

《MATLAB及应用》实验指导书

班 级: T1243-7 姓 名: 柏 元 强 学 号: 20120430724 总评成绩:

汽车工程学院 电测与汽车数字应用中心

I

湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书

目录

实验04051001 MATLAB语言基础 ............................................. 1 实验04051002 MATLAB科学计算及绘图 ...................................... 18 实验04051003 MATLAB综合实例编程 ........................................ 31

II

湖 北 汽 车 工 业 学 院 《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

2.计算:

1

湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书

(1)

sin?60??

(2) e3

cos??3??4?(3) ??

clear,clc a=sind(60) b=exp(3) c=cos(3*pi/4)

3.设u?2,v?3,计算:

4uv(1) logv

?eu?v?2(2) v2?u

u?3v(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) ?3?5i??4?2i?

(2)

sin?2?8i?

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.设a?39,b?58,c?3,d?7,判断下面表达式的值。

(1) a?b (2) a?c (3) a?b&&b?c (4) a??d (5) a|b?c (6) ~~d

clear,clc

a=39;b=58;c=3;d=7;

a>b,ab&&b>c,a==d,a|b>c,~~d

7.编写脚本,计算上面第2题中的表达式。

clear,clc disp('sin(60)='); disp(sind(60)) disp('exp(3)='); disp(exp(3))

disp('cos(3*pi/4)='); disp(cos(3*pi/4))

3

湖 北 汽 车 工 业 学 院 《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) y?e?x,初始点为x?8

(2) y?xsinx

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)

z?x2??y?1?z??x?y?1?22

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 ?1x?x3?x5dx

(2)

?? 110101sinyx?ydxdyx2?4

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)y?xsinx,0?x?10?

22z?x?6xy?y?6x?2y?1,?10?x?10,?10?y?10 (2)三维曲线:

x2y2z??164,?16?x?16,?4?y?4 (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£?D?ìa

[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£?D?ìa

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及应用》实验指导书

plot(simout(:,1),simout(:,2)),hold on,title('抛物线轨迹Y相对X图形'); xlabel('0-10秒内水平方向位移X'),ylabel('0-10秒内竖直方向位移Y');

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) =

?t??2?t?0? 0?t?1 1?t?2t?2

19

湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书

方法一:线性状态—变量模型 令: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及应用》实验指导书

方法二:传递函数模型

状态—变量模型与传递函数模型相比,传递函数模型得到的结果更接近真实情况,结果更精确。 两图中虚线为X1(t)图形。

21

湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书

思考题:

结合本次试验,谈谈学习MATLAB的心得体会:

以前数学建模,初步了解到了MATLAB,但仅处于了解阶段。本学期比较系统地学习了MATLAB,掌握了一些编程与应用技巧。在上MATLAB课之前,打算在课上好好学习这个软件,然后上课了发现,大学还是得靠自己,老师教你基本的使用,想深层次的去运用软件解决问题,还是得平时多花时间。在其它课程的学习中,我应用MATLAB解决了一些比较复杂的计算问题,这开始让我认识到MATLAB的重要性。通过进一步的学习,我逐渐体会到MATLAB功能强大,应用广泛。作为工科生,掌握MATLAB已经成为一项重要的技能。这些课后习题,让我注意了平时没有注意到的细节,这样在以后学习MATLAB就能够更加的得心应手,让他更好的为我们的工作带来方便和高效。

22

湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书

23

湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书

第一题

Clear,clc

z=@(x)x(1)^2-(x(2)-1)^2;

[x,fvalue,flag,output]=fminsearch(z,[0,0]) y=x(2);x=x(1);z=x^2-(y-1)^2; x,y,z

第二题

Clear,clc

fun=@(x,y)sin(2.*y).*(x+y)./(x.^3+5); q=dblquad(fun,1,20,1,10)

第三题

function dydt=vdp1(t,y)

dydt=[y(2);100*(1-y(1)^2)*y(2)-y(1)-5];

新建脚本

[t,y]=ode45(@vdp1,[0 16],[5;10]); 第四题 Clc,clear a=10000;t=0 while a<1000000 a=a*1.06+10000 t=t+1; end t

第五题

Clc,clear

24

湖 北 汽 车 工 业 学 院 《MATLAB及应用》实验指导书

[X,Y]=meshgrid([-16:0.4:16],[-4:0.4:4]) Z=X.^2/16-Y.^2/4

subplot(2,2,1),mesh(X,Y,Z) subplot(2,2,2),surf(X,Y,Z)

第六题

25

本文来源:https://www.bwwdw.com/article/hw17.html

Top