MATLAB基础教程薛山第二版课后习题答案讲解.docx
- 文档编号:28545939
- 上传时间:2023-07-18
- 格式:DOCX
- 页数:27
- 大小:1.30MB
MATLAB基础教程薛山第二版课后习题答案讲解.docx
《MATLAB基础教程薛山第二版课后习题答案讲解.docx》由会员分享,可在线阅读,更多相关《MATLAB基础教程薛山第二版课后习题答案讲解.docx(27页珍藏版)》请在冰豆网上搜索。
MATLAB基础教程薛山第二版课后习题答案讲解
《MATLAB及应用》实验指导书
《MATLAB及应用》实验指导书
班级:
T1243-7
姓名:
柏元强
学号:
20120430724
总评成绩:
汽车工程学院
电测与汽车数字应用中心
实验04051003MATLAB综合实例编程31
实验04051001MATLAB语言基础
操作成绩
报告成绩
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)
(2)e3
(3)
clear,clc
a=sind(60)
b=exp(3)
c=cos(3*pi/4)
3.设
,
,计算:
(1)
(2)
(3)
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)
(2)
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'
clear,clc
4<20,4<=20,4==20,4~=20,'b'<'B'
6.设
,
,
,
,判断下面表达式得值。
(1)
(2)
(3)
(4)
(5)
(6)
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)=');
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=[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<5); 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=[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得元素后得所有元素。 clear,clc vec=[4528472642572457432573362533430-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=[713532121991024]; nums2=[5414569204548726132109411]; nums3=[441125418477998852315]; 编写脚本文件创建相应得3个向量: newNums1、newNums2与newNums3,分别包含以上3个向量中从第一元素开始且间隔取值得元素。 例如: numsEX=[635678944567437357543] newsNumsEx=>[656844573574] 注意: 不能直接将相关数值输入答案中,如果再命令提示符下输入: >>newNumEx=[656844573574] 将不能得分。 提示: 对于3个向量而言,其解决方法应当就是一样得,只就是变换向量名称而已。 clear,clc nums1=[713532121991024]; nums2=[5414569204548726132109411]; nums3=[441125418477998852315]; newNums1=nums1(1: 2: end) newNums2=nums2(1: 2: end) newNums3=nums3(1: 2: end) 思考题 1.MATLAB中,数组与矩阵在表示与应用上有哪些区别。 一维数组相当于向量,二维数组相当于矩阵、所以矩阵就是数组得子集 数组运算就是指数组对应元素之间得运算,也称点运算、矩阵得乘法、乘方与除法有特殊得数学含义,并不就是数组对应元素得运算,所以数组乘法、乘方与除法得运算符前特别加了一个点。 矩阵就是一个二维数组,所以矩阵得加、减、数乘等运算与数组运算就是一致得。 但有两点要注意: (1)对于乘法、乘方与除法等三种运算,矩阵运算与数组运算得运算符及含义都不同: 矩阵运算按线性变换定义,使用通常符号;数组运算按对应元素运算定义,使用点运算符; (2)数与矩阵加减、矩阵除法在数学就是没有意义得,在MATLAB中为简便起见,定义了这两类运算 实验04051002MATLAB科学计算及绘图 操作成绩 报告成绩 1实验目得 1)熟悉MATLAB所提供得常用数值计算得函数(方程(组)得求解、插值、拟合); 2)掌握MATLAB二维图形绘制命令及其图形控制(plot、loglog、contour、polar等); 3)熟悉MATLAB三维图形绘制命令及其图形控制(mesh、surf等)。 2实验内容 第四章 1、有如下数据: x 1 1、1 1、2 1、3 1、4 y 1、00000 1、23368 1、55271 1、99372 2、61170 利用本章介绍得几种插值方法对其进行插值,得到每隔0、05得结果。 clear,clc 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,'*'),holdon, plot(scalar_x,y_linear),title('method=linear'); subplot(2,2,3),plot(x,y,'*'),holdon, plot(scalar_x,y_spline),title('method=spline'); subplot(2,2,4),plot(x,y,'*'),holdon, plot(scalar_x,y_cubic),title('method=cubic'); 2、求下列函数得解,并绘制图形。 (1) ,初始点为 (2) clear,clc %第一小题 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、求下列函数得极值。 (1) (2) 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) (2) 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、编写程序,该程序在同一窗口中绘制函数在 之间得正弦曲线与余弦曲线,步长为 ,线宽为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),holdon,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); 2.绘制下列图像 (1) , (2)三维曲线: , , (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£©Ð¡Ìâ [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=[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题生成得图形中添加注释,至少应包括: 标题,文本注释,图例。 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),holdon,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=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('sin(x)','cos(x)') 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); 思考题 1.MATLAB求多项式得根就是用什么方法,与传统方法相比有何优点 用roots(a)函数,a就是所要求根得多项式函数,相比传统方法更方便 2.画出横坐标在(-15,15)上得 函数得曲线,应该使用什么命令。 Plot([-15,15],sin(x)); 3.请思考网络线有什么作用,为什么要对图形进行标注。 网格线可以使图像具有更好得可读性;标注使图形表达信息更加清晰。 实验04051003MATLAB综合实例编程 操作成绩 报告成绩 1实验目得 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图形'); xlabel('0-10秒内水平方向位移X'),ylabel('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;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 第二题 Clear,clc 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 第五题 Clc,clear [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) 第六题
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 基础教程 第二 课后 习题 答案 讲解