MATLAB基础教程薛山第二版课后习题答案Word文档格式.docx

上传人:b****2 文档编号:4125699 上传时间:2023-05-02 格式:DOCX 页数:27 大小:1.30MB
下载 相关 举报
MATLAB基础教程薛山第二版课后习题答案Word文档格式.docx_第1页
第1页 / 共27页
MATLAB基础教程薛山第二版课后习题答案Word文档格式.docx_第2页
第2页 / 共27页
MATLAB基础教程薛山第二版课后习题答案Word文档格式.docx_第3页
第3页 / 共27页
MATLAB基础教程薛山第二版课后习题答案Word文档格式.docx_第4页
第4页 / 共27页
MATLAB基础教程薛山第二版课后习题答案Word文档格式.docx_第5页
第5页 / 共27页
MATLAB基础教程薛山第二版课后习题答案Word文档格式.docx_第6页
第6页 / 共27页
MATLAB基础教程薛山第二版课后习题答案Word文档格式.docx_第7页
第7页 / 共27页
MATLAB基础教程薛山第二版课后习题答案Word文档格式.docx_第8页
第8页 / 共27页
MATLAB基础教程薛山第二版课后习题答案Word文档格式.docx_第9页
第9页 / 共27页
MATLAB基础教程薛山第二版课后习题答案Word文档格式.docx_第10页
第10页 / 共27页
MATLAB基础教程薛山第二版课后习题答案Word文档格式.docx_第11页
第11页 / 共27页
MATLAB基础教程薛山第二版课后习题答案Word文档格式.docx_第12页
第12页 / 共27页
MATLAB基础教程薛山第二版课后习题答案Word文档格式.docx_第13页
第13页 / 共27页
MATLAB基础教程薛山第二版课后习题答案Word文档格式.docx_第14页
第14页 / 共27页
MATLAB基础教程薛山第二版课后习题答案Word文档格式.docx_第15页
第15页 / 共27页
MATLAB基础教程薛山第二版课后习题答案Word文档格式.docx_第16页
第16页 / 共27页
MATLAB基础教程薛山第二版课后习题答案Word文档格式.docx_第17页
第17页 / 共27页
MATLAB基础教程薛山第二版课后习题答案Word文档格式.docx_第18页
第18页 / 共27页
MATLAB基础教程薛山第二版课后习题答案Word文档格式.docx_第19页
第19页 / 共27页
MATLAB基础教程薛山第二版课后习题答案Word文档格式.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

MATLAB基础教程薛山第二版课后习题答案Word文档格式.docx

《MATLAB基础教程薛山第二版课后习题答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《MATLAB基础教程薛山第二版课后习题答案Word文档格式.docx(27页珍藏版)》请在冰点文库上搜索。

MATLAB基础教程薛山第二版课后习题答案Word文档格式.docx

4.计算如下表达式:

clear,clc

(3-5*i)*(4+2*i)

sin(2-8*i)

5.判断下面语句的运算结果。

(1)4<

20

(2)4<

=20

(3)4==20

(4)4~=20

(5)'

b'

<

'

B'

4<

20,4<

=20,4==20,4~=20,'

6.设

,判断下面表达式的值。

(4)

(5)

(6)

a=39;

b=58;

c=3;

d=7;

a>

b,a<

c,a>

b&

&

b>

c,a==d,a|b>

c,~~d

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

disp('

sin(60)='

);

disp(sind(60))

exp(3)='

disp(exp(3))

cos(3*pi/4)='

disp(cos(3*pi/4))

8.编写脚本,输出上面第6题中的表达式的值。

disp(a>

b)

a<

c'

disp(a<

c)

disp(a>

c)

a==d'

disp(a==d)

a|b>

disp(a|b>

~~d'

disp(~~d)

第三章

1.在命令提示符下输入以下两条命令:

>

x=[93063]

y=mod((sqrt(length(((x+5).*[12345]))*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<

f=vec5.^2;

求c、d、e、f的值。

c='

disp(c)

d='

disp(d)

e='

disp(e)

f='

disp(f)

3.向量操作时MATLAB的主要部分,使用给出的向量来做下面的练习。

注意:

不要直接给出下列问题中任何一个的最终结果,不要在问题的任何部分使用迭代。

vec=[4528472642572457432573362533430-65-343]

(1)创建一个新的向量vecR,使其为vec的转置。

(2)创建一个新的向量vecB,使其为vec中的前半部分与后半部分对换的结果,这样vecB包含的元素为vec的后半部分紧接着vec的前半部分。

(3)创建一个新的向量vecS,使其包含vec中所有小于45的元素,且元素按照vec中的顺序排列。

(4)创建一个新的向量vec3R,使其从vec中从最后一个元素开始,并且间隔三个元素取一个元素,直到第一个元素为止。

(5)创建一个新的向量vecN,使其包含vec中所有等于2或4的元素的索引值。

(6)创建一个新的向量vecG,使其包含vec中去掉索引值为奇数且取值为2或4的元素后的所有元素。

vec=[4528472642572457432573362533430-65-343];

vecR=vec'

;

vecR=[]'

disp(vecR)

a=length(vec);

vecB=[vec(a/2+1:

a)vec(1:

a/2)];

vecB=[]'

disp(vecB)

C=find(vec<

45);

vecS=vec(C);

vecS=[]'

disp(vecS)

vec3R=vec(end:

-4:

1);

vec3R=[]'

disp(vec3R)

vecN=find(vec==2|vec==4);

vecN=[]'

disp(vecN)

d=vec(2:

2:

end);

vecG=d(find(d~=2&

d~=4));

vecG=[]'

disp(vecG)

4.给定以下3个向量:

nums1=[713532121991024];

nums2=[5414569204548726132109411];

nums3=[441125418477998852315];

编写脚本文件创建相应的3个向量:

newNums1、newNums2和newNums3,分别包含以上3个向量中从第一元素开始且间隔取值的元素。

例如:

numsEX=[635678944567437357543]

newsNumsEx=>

[656844573574]

不能直接将相关数值输入答案中,如果再命令提示符下输入:

newNumEx=[656844573574]

将不能得分。

提示:

对于3个向量而言,其解决方法应当是一样的,只是变换向量名称而已。

newNums1=nums1(1:

end)

newNums2=nums2(1:

end)

newNums3=nums3(1:

思考题

1.MATLAB中,数组与矩阵在表示与应用上有哪些区别。

一维数组相当于向量,二维数组相当于矩阵.所以矩阵是数组的子集

数组运算是指数组对应元素之间的运算,也称点运算.矩阵的乘法、乘方和除法有特殊的数学含义,并不是数组对应元素的运算,所以数组乘法、乘方和除法的运算符前特别加了一个点。

矩阵是一个二维数组,所以矩阵的加、减、数乘等运算与数组运算是一致的。

但有两点要注意:

(1)对于乘法、乘方和除法等三种运算,矩阵运算与数组运算的运算符及含义都不同:

矩阵运算按线性变换定义,使用通常符号;

数组运算按对应元素运算定义,使用点运算符;

(2)数与矩阵加减、矩阵除法在数学是没有意义的,在MATLAB中为简便起见,定义了这两类运算

实验04051002MATLAB科学计算及绘图

1)熟悉MATLAB所提供的常用数值计算的函数(方程(组)的求解、插值、拟合);

2)掌握MATLAB二维图形绘制命令及其图形控制(plot、loglog、contour、polar等);

3)熟悉MATLAB三维图形绘制命令及其图形控制(mesh、surf等)。

第四章

1.有如下数据:

x

1

1.1

1.2

1.3

1.4

y

1.00000

1.23368

1.55271

1.99372

2.61170

利用本章介绍的几种插值方法对其进行插值,得到每隔0.05的结果。

x=[11.11.21.31.4];

y=[1.000001.233681.552711.993722.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,'

*'

),holdon,

plot(scalar_x,y_nearest),title('

method=nearest'

subplot(2,2,2),plot(x,y,'

plot(scalar_x,y_linear),title('

method=linear'

subplot(2,2,3),plot(x,y,'

plot(scalar_x,y_spline),title('

method=spline'

subplot(2,2,4),plot(x,y,'

plot(scalar_x,y_cubic),title('

method=cubic'

2.求下列函数的解,并绘制图形。

,初始点为

%第一小题

y_1=@(x)exp(x)-x^5;

x0=8;

subplot(1,2,1),holdon,fplot(y_1,[x0,x0+10]),title('

exp(x)-x^5'

%第二小题

y_2=@(x)x*sin(x);

subplot(1,2,2),holdon,fplot(y_2,[-pi,pi]),title('

x*sin(x)'

3.求下列函数的极值。

z_1=@(x)x

(1)^2-(x

(2)-1)^2;

[x,fvalue,flag,output]=fminsearch(z_1,[0,0])

第二小题'

z_2=@(x)(x

(1)-x

(2)+1)^2;

[x,fvalue,flag,output]=fminsearch(z_2,[0,0])

4.计算下列积分。

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.编写程序,该程序在同一窗口中绘制函数在

之间的正弦曲线和余弦曲线,步长为

,线宽为4个象素,正弦曲线设置为蓝色实线,余弦曲线颜色设置为红色虚线,两条曲线交点处,用红色星号标记。

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),holdon,plot(x,cos(x),'

r:

4);

plot(x1,sin(x1),'

rh'

markerfacecolor'

y'

markersize'

10);

plot(x2,sin(x2),'

2.绘制下列图像

(1)

(2)三维曲线:

(3)双曲抛物面:

x=0:

pi/100:

10*pi;

y=x.*sin(x);

subplot(1,3,1),plot(x,y,'

),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('

三维曲面'

[X,Y]=meshgrid(-16:

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之间的随机整数,绘制其阶跃图

x=[3763];

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('

阶跃图'

4.分别通过界面交互方式和函数方式在第1题生成的图形中添加注释,至少应包括:

标题,文本注释,图例。

title('

正弦曲线和余弦曲线及其交点'

xlabel('

x'

),ylabel('

y=sinxy=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('

5.对第2题中绘制的双曲抛物面尝试进行视点控制和颜色控制。

subplot(1,3,2);

mesh(X,Y,Z),title('

),view(50,60);

colormap(jet);

%第三小题

双曲面抛物线'

),view(30,60);

colormap(flag);

1.MATLAB求多项式的根是用什么方法,与传统方法相比有何优点

用roots(a)函数,a是所要求根的多项式函数,相比传统方法更方便

2.画出横坐标在(-15,15)上的

函数的曲线,应该使用什么命令。

Plot([-15,15],sin(x));

3.请思考网络线有什么作用,为什么要对图形进行标注。

网格线可以使图像具有更好的可读性;

标注使图形表达信息更加清晰。

实验04051003MATLAB综合实例编程

1)了解Windows界面编程的基本概念和方法掌握MATLAB程序设计的方法;

2)熟悉MATLAB/GUI的基本特点;

掌握MATLAB/GUI编制的基本步骤;

3)掌握MATLAB/Simulink的使用方法和基本步骤;

4)将MATLAB应用到所学专业。

2实验内容

第十一章

2.求解微分方程

,初始条件x1=x2=0。

4.在水平角度30︒方向,以100m/s的速度来投掷一个抛射物。

建立一个Simulink模型以求解这个抛射物的运动方程,其中,x和y分别是这个抛射物的水平和垂直位移。

=0  x(0)=0  

(0)=100cos30•

=-g  y(0)=0  

(0)=100sin30•

使用这个模型来绘制这条抛射物轨迹y相对于x的图形,其中,0≤t≤10s。

plot(simout(:

1),simout(:

2)),holdon,title('

抛物线轨迹Y相对X图形'

0-10秒内水平方向位移X'

0-10秒内竖直方向位移Y'

5.考虑图中所示的系统。

运动方程是:

m1

+(c1+c2)

+(k1+k2)x1-c2

-k2x2=0

m2

+c2

+k2x2-c2

-k2x1=f(t)

假设m1=m2=1,c1=3,c2=1,k1=1和k2=4。

(1).开发这个系统的Simulink模型。

在开发系统模型的时候,考虑是使用模型的状态-变量表示法还是传递-函数表示法。

(2)使用Simulink模型,针对以下输入绘制响应x1(t)的图形。

其初始条件为0。

f(t)=

方法一:

线性状态—变量模型

令:

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;

1],C=[1,0,0,0;

0,0,1,0],D=[0;

0]

方法二:

传递函数模型

状态—变量模型与传递函数模型相比,传递函数模型得到的结果更接近真实情况,结果更精确。

两图中虚线为X1(t)图形。

思考题:

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

以前数学建模,初步了解到了MATLAB,但仅处于了解阶段。

本学期比较系统地学习了MATLAB,掌握了一些编程与应用技巧。

在上MATLAB课之前,打算在课上好好学习这个软件,然后上课了发现,大学还是得靠自己,老师教你基本的使用,想深层次的去运用软件解决问题,还是得平时多花时间。

在其它课程的学习中,我应用MATLAB解决了一些比较复杂的计算问题,这开始让我认识到MATLAB的重要性。

通过进一步的学习,我逐渐体会到MATLAB功能强大,应用广泛。

作为工科生,掌握MATLAB已经成为一项重要的技能。

这些课后习题,让我注意了平时没有注意到的细节,这样在以后学习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

第二题

fun=@(x,y)sin(2.*y).*(x+y)./(x.^3+5);

q=dblquad(fun,1,20,1,10)

第三题

functiondydt=vdp1(t,y)

dydt=[y

(2);

100*(1-y

(1)^2)*y

(2)-y

(1)-5];

新建脚本

[t,y]=ode45(@vdp1,[016],[5;

10]);

第四题

Clc,clear

a=10000;

t=0

whilea<

1000000

a=a*1.06+10000

t=t+1;

end

t

第五题

[X,Y]=meshgrid([-16:

0.4:

16],[-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)

第六题

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2