MATLAB基础教程 薛山第二版 课后复习题答案Word文档下载推荐.docx
- 文档编号:8136903
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:24
- 大小:1.30MB
MATLAB基础教程 薛山第二版 课后复习题答案Word文档下载推荐.docx
《MATLAB基础教程 薛山第二版 课后复习题答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《MATLAB基础教程 薛山第二版 课后复习题答案Word文档下载推荐.docx(24页珍藏版)》请在冰点文库上搜索。
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'
%µ
Ú
£
¨
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£
[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)
第六题
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB基础教程 薛山第二版 课后复习题答案 MATLAB 基础教程 第二 课后 复习题 答案