MATLAB系统仿真试题复习资料,有答案及MATLAB课程设计实验体会
- 格式:doc
- 大小:524.00 KB
- 文档页数:33
模拟试题3一、填空题(2’×15=30’)1、在Matlab开发环境是一个集成的工作环境,包括、、、和等。
2、Matlab命令窗口中的“>>”符号表示。
3、clc表示:;more表示:;who表示:。
4、文件编辑器中的赋值语句后面的冒号“;”表示:;“%”表示:。
5、求矩阵行列式的函数:;求矩阵特征值和特征向量的函数。
6、在Matlab命令窗口中运行命令可以打开Simulink模块库浏览器窗口。
二、简答题(6’×4=24’)1、如何实现退出Matlab环境?2、在Matlab中绘制一个图形的步骤有哪些?3、Matlab提供了哪四类程序控制结构方式?4、说明进入到Matlab开发环境的方法?三、程序设计及分析(6’×7+4’=46’)1、在命令窗口中执行“>>x=ones(3,2)”的结果是:2、编程实现连接str1和str2,str1='My name is LI ming',str2='your name'?3、把2行3列矩阵A变成1行6列的矩阵B。
(123456A⎡⎤=⎢⎥⎣⎦)?4、设随机变量X~N(0,1),求概率P{X<=0.4}?5、求3()25f x x x=--在[0,5]内的最小值点?6、对表达式31f a=-进行因式分解?7、分析以下程序执行后的效果?x=-2:0.2:2;y=x;[x,y]=meshgrid(x,y);z=x.*exp(-x.^2-x.^2);mesh(x,y,z);模拟试题3及答案一、填空题(2’×15=30’)7、在Matlab开发环境是一个集成的工作环境,包括Matlab命令窗口、文件编辑调试器、工作空间、数组编辑器和在线帮助文档等。
8、Matlab命令窗口中的“>>”符号表示命令提示符。
9、clc表示:清空命令窗口中的显示内容;more表示:在命令窗口中控制其后每页的显示内容行数;who表示:查阅Matlab内存变量名。
matlab考试题及答案【篇一:matlab期末考试试卷及参考答案】lass=txt>1.设有程序a=[2,0,1,0;1,0,1,5;0, 6 ,2, 3];b=[1,2,-1;1,3,1];c=a(1:3,[1,2]);d=size(c)- length(b(2,:));f= c.*b’将下列命令的运行结果填在横线上0*、02. a=[2,3,2,1;1,2,2,1; 1,2,3,-2];a1=sum(aa(2,1));a(2,:)=[],a2=a.^2-4a1=; a2=;3.p=[1,2,5,4;2,2,1,3];max(p;mean(p3??x?sint(1).?(0?t?2?);3??y?cost二、(本题满分10分)试编写计算程序画出曲线与曲面图形(2).z?(x2?1)e?x?y22?xy,?2?x?2,?2?y?2.2%1 %2t=0:0.1: 2*pi; [x,y]=meshgrid(-2:0.1:2);x= sin(t).^3;z=(x.^2+1).* exp(-x.^2- y.^2+)+x.^2.*y; y= cos (t).^3;mesh(x,y,z) plot(x,y)三、(本题满分12分)编写程序解决下列问题:(1)试产生100?4阶矩阵使其元素在0—100之间的随机整数,可将此矩阵理解为100名同学的四门课程(课程1, 课程2, 课程3, 课程4)的成绩. (2)计算出每门课程和每位同学的平均成绩; (3)统计出总的优秀人次(90分及以上为优秀);(4)统计出四门课程成绩至少有两门课程不及格的人数. 解:(1) a=fix((100-0+1)*rand(100,4));(2) mean(a)mean(a,2) (3)sum(sum(a=90,2)==4)(4)sum(sum(a60,2)=2)四、(本题满10分)n设f(x)??k?1(?1)kk?1sinkx,返回该函数并保存y?fun1(x,n));(1)试编写函数式文件程序(程序的第一句为:function(2)用子图画出该函数在[0,2?]内图形(分别取n?20,50).(1). function y=fun1(x,n)(2). x=0:0.1:2*pi; y=0; y1= fun1 (x,20); for k=1:n y2= fun1 (x,50);y=y+ ((-1)^(k+1)*sin(k*x))/k; subplot(2,1,1),plot(x,y1)endsubplot(2,1,2),plot(x,y2) y五、(本题满分10分)试利用微分方程的数值解法写出下列微分方程的求解步骤和matlab程序. x???3tx??x?t,x(0)?2,x?(0)?0.(t的变化区间为[0,10]). 第一步:先将高阶微分方程转化为一阶微分方程组:选择状态变量x1?x?,x2?x,则原方程化为???3tx1?x2?t,?x1???x1.?x2x1(0)?0,x2(0)?2dxdt = [-3*t*x(1)+ x(2)+t; x(1)];第三步:求解微分方程,命令如下:[t,x]=ode45(@fun2,[0,10],[0;2])六、运用符号运算功能计算1.求方程ex下列各题,:?x2?2的根;?xsinxa???xe??lnx?da21?,并计算,?a(x)dx,a;dxs?x??;t?x?2e,x(0)?x?(0)?x??(0)?x???(0)?1的解2.生成符号矩阵3.计算极限limcosx?x(esinxcosx?x)x?04.用dsolve函数求解微分方程x六、参考程序: 1. solve(exp(x)=x^2+2) 2.syms x sa=[x*sin(x),log(x);exp(-x),1/(s+x)] diff(a) int(a) a*a 3.syms x limit((cos(x)-cos(x)^(1/2))/x/(exp(sin(x))-1))4.dsolve(d4x+x=2*exp(t),x(0)=1,dx(0)=1,d2x(0)=1,d3x(0)=1)七.用fsolve函数以及符号运算功能22??4x1?x2?2x1x2?x2?2?0?22??2x1?x2?3x1x2?3?0求解下面的非线性方程组:解一:function y=fc(x)y(1)=4*x(1).^2+x(2).^2+2*x(1).*x(2)-x(2)-2y(2)=2*x(1).^2+x(2).^2+3*x(1).*x(2)-3 y=[y(1) y(2)];x0=[1 1];fsolve(@fc,x0)解二: syms x1 x2[x1 x2]=solve(‘4*x1^2+ x2^2+2* x1* x2- x2-2=0’,’ 2*x1^2+x2^2+3* x1* x2-3=0’,’ x1’,’ x2’)《matlab程序设计》参考程序一、 (30分)1. d =0 -1 f =2 0 2 0 0 6 2. a1 =1 3 3 0 a2 =0 5 0 -3-3 0 5 0 3. max(p,[ ],1)=2 2 5 4mean(p,2)=32 4. x=15 5.0 1 4 -1 0 1 -4 -1 0 6.z =2010 7.285二、(10分)%1t=0:0.1: 2*pi; x= sin(t).^3; y= cos (t).^3; plot(x,y) %2[x,y]=meshgrid(-2:0.1:2);z=(x.^2+1).* exp(-x.^2- y.^2+)+x.^2.*y; mesh(x,y,z)三、(16分)syms xlimit((x-1)*log(x)/(exp(x-1)-1),x,1) %2solve(exp(x)-3*cos(x)+1=0) %3 syms xm=[ exp(-x), x;sin(x),exp(-0.1*x)* cos(3*x)] diff(m,2) int(m,x,0,pi) %4 syms t xdsolve(dx-6*x=exp(-t) ,x(0)=1)四、(12分)x=0.5:9.5;y=[ 0.16, 0.40, 0.66, 0.75, 0.88, 1.0, 1.1, 1.1, 1.2, 1.3];x1=1./x;y1=1./y; p=polyfit(x1,y1,1); a=p(2); b= p(1);ye=x./(a*x+b); plot(x,y,ro, x, ye, b-)grid onxlabel(自变量x ) ylabel(因变量y )title(因变量 y与自变量 x的拟合曲线图)五、(12分)%参考程序cj=round(normrnd(70,10,100,4)); for i=1:100 for j=1:4if cj(i,j)100 cj(i,j)=100;elseif cj(i,j)0 cj(i,j)=0;end end endkmean=round(mean(cj))disp(课程1课程2课程3课程4)disp(sprintf( %4d%7d%8d%8d ,kmean(1),kmean(2),kmean(3),k mean(4))) studentmean=round(mean(cj,2));studentnumber=[1:100];[studentnumber, studentmean] c=sum(sum(cj=90))【篇二:matlab习题及答案】241?b?1,计算a??与?468?的数组乘积。
MATLAB仿真课后知识题第⼀章习题3.请指出以下的变量名(函数名、M⽂件名)中,哪些是合法的?Abc 2004x lil-1 wu_2004 a&b qst.u _xyz 解:合法的变量名有:Abc wu_20044.指令窗操作(1)求[12+2×(7-4)]÷32的运算结果解:>> [12+2*(7-4)]/3^2ans =2(2)输⼊矩阵A=[1,2,3;4,5,6;7,8,9],观察输出。
解:>> A=[1,2,3;4,5,6;7,8,9]A =1 2 34 5 67 8 9(3)输⼊以下指令,观察运算结果;clear;x=-8:0.5:8;y=x';X=ones(size(y))*x;Y=y*ones(size(x));R=sqrt(X.^2+Y.^2)+eps;Z=sin(R)./R;mesh(X,Y,Z);colormap(hot)xlabel('x'),ylabel('y'),zlabel('z')解:7.指令⾏编辑(1)依次键⼊以下字符并运⾏:y1=2*sin(0.3*pi)/(1+sqrt(5)) 解:>>y1=2*sin(0.3*pi)/(1+sqrt(5))y1 =0.5000(2)通过反复按键盘的箭头键,实现指令回调和编辑,进⾏新的计算;y2=2*cos(0.3*pi)/(1+sqrt(5))解:>>y2=2*cos(0.3*pi)/(1+sqrt(5))y2 =0.363311.编写题4中(3)的M脚本⽂件,并运⾏之。
解:第⼆章习题1.在指令窗中键⼊x=1:0.2:2和y=2:0.2:1,观察所⽣成的数组。
解:>> x=1:0.2:2 x =1.0000 1.2000 1.4000 1.6000 1.80002.0000 >> y=2:0.2:1 y =Empty matrix: 1-by-02.要求在[0,2π]上产⽣50个等距采样数据的⼀维数组,试⽤两种不同的指令实现。
Matlab 与系统仿真试题及答案一、填空题(每空2分,共30分)1、单位取样序列定义为________________。
2、单位阶跃序列定义为__________________。
3、取样定理中,采样频率和原始信号频率之间至少应该满足公式_______________。
4、实现IIR 滤波器可以采用三种不同的结构:_______________、__________________和_______________。
5、对于理想的滤波特性()jwH e ,相应的()d h n 一般为无限时宽,从而使非因果的。
为此,使显示一般通过如下公式__________实现加窗处理,相应的傅里叶表达形式为_________________。
6、设计IIR 滤波器的基础是设计模拟低通滤波器的原型,这些原型滤波器有:_________、________和______________低通滤波器。
7、实现FIR 滤波器可以采用以下4中结构:________________,_______________,______________和____________。
二、阅读下列Matlab 程序,并回答完成的功能(每题5分,共10分)1、f=[00.60.61];m=[1100];b=fir2(30,f,m);[h ,w]=freqz(b,1,128);Plot(f,m,w/pi,abs)本段程序的功能是:2、[b ,a]=butter(9,300/500,’high’);Freqz(b,a,128,1000)本段程序的功能是:三、用Matlab 语言编程实现下列各小题(每小题15分,共60分)1、产生序列0.3,16p s A dB πΩ==55n -≤≤,并绘出离散图,标注图形标题为“Sequence in Example 3.1a”。
实现程序如下:2、设11()23X z z z-=++,212()2435X z z z z -=+++,求312()()()X z X z X z =+。
3.5 MATLAB 绘图实训3.5.1 实训目的1.学会MATLAB 绘图的基本知识;2.掌握MATLAB 子图绘制、图形注释、图形编辑等基本方法;3.学会通过MATLAB 绘图解决一些实际问题;4.练习二维、三维绘图的多种绘图方式,了解图形的修饰方法;5.学会制作简单的MATLAB 动画。
图3-46 炮弹发射示意图3.5.2 实训内容1. 炮弹发射问题〔1炮弹发射的基础知识炮弹以角度α射出的行程是时间的函数,可以分解为水平距离)(t x 和垂直距离)(t y 。
)cos()(0αtv t x = %水平方向的行程; 205.0)sin()(gt tv t y -=α %垂直方向的行程;其中,0v 是初速度;g 是重力加速度,为9.82m/s ;t 是时间。
〔2炮弹发射程序举例:分析以下程序以及图3-47各个图形的实际意义。
a=pi/4; v0=300; g=9.8;t=0:0.01:50; x=t*v0*cos<a>;y=t*v0*sin<a>-0.5*g*t.^2;subplot<221>;plot<t,x>;grid;title<‘时间-水平位移曲线'>; subplot<222>;plot<t,y>;grid;title<‘时间-垂直位移曲线'>; subplot<223>;plot<x,y>;grid;title<‘水平位移-垂直位移曲线'>; subplot<224>;plot<y,x>;grid;title<‘垂直位移-水平位移曲线'>; 图3-4745角发射曲线 〔3编程解决炮弹发射问题①假设在水平地面上以垂直于水平面的角度向上发射炮弹,即发射角90=α,假设初速度分别为[310,290,270]m/s,试绘制时间-垂直位移曲线,编程求取最高射程;绘图要求:◆ 标题设为"炮弹垂直发射问题";◆ 在图上通过添加文本的方式表明初速度; ◆ 在x 轴标注"时间";◆ 在y 轴上标注"垂直距离"; ◆ 添加网格线;◆ 将310m/s 的曲线改为线粗为2的红色实线; ◆ 将290m/s 的曲线改为线粗为3的绿色点划线;◆ 将270m/s 的曲线改为线粗为2的蓝色长点划线;a=pi/2; v1=310; g=9.8;t=0:0.01:50; x1=t*v1*cos<a>;y1=t*v1*sin<a>-0.5*g*t.^2;plot<t,y1>;grid; title<'炮弹垂直发射问题'>; xlabel<'时间'>; ylabel<'垂直距离'>; hold on; v2=290;x2=t*v2*cos<a>;y2=t*v2*sin<a>-0.5*g*t.^2; plot<t,y2>; v3=270;x3=t*v3*cos<a>;y3=t*v3*sin<a>-0.5*g*t.^2; plot<t,y3>;zgsc=[max<y1>; max<y2>; max<y3>] %三次发射的最高射程 运行结果如下: zgsc =1.0e+003 * 4.9031 4.29083.7194最高射程分别为:4903.1米,4290.8米,3719.4米。
MATLAB 与控制系统仿真练习题(含图)1、已知函数x x e x f x sin cos )(-=,作出函数的大致图像。
>> syms x>> y=exp(x)*cos(x)-sin(x); >> ezplot(y)2、求下列极限:(1)30sin lim xx x x -→ >> syms x>> y=(x-sin(x))/(x^3);>> limit(y,x,0)ans =1/6(2) xx x ⎪⎭⎫ ⎝⎛+∞→11lim >> y=(1+1/x)^x;>> limit(y,x,inf)ans =exp(1)3、求下列函数的导数:(1)x e y x sin =>> syms x>> y=exp(x)*sin(x);>> diff(y,x)ans =exp(x)*sin(x)+exp(x)*cos(x)(2) x e x x y 22sin +=>> syms x>> y=sin(x)+x^2*exp(2*x);>> diff(y,x)ans =cos(x)+2*x*exp(2*x)+2*x^2*exp(2*x)4、求.)1(532⎰-dx x x 和.sin ⎰xdx e x(1).)1(532⎰-dx x xsyms x>> int(x^2*(1-x^3)^5)ans =-1/18*x^18+1/3*x^15-5/6*x^12+10/9*x^9-5/6*x^6+1/3*x^3(2).sin ⎰xdx e x>> int(exp(x)*sin(x))ans =-1/2*exp(x)*cos(x)+1/2*exp(x)*sin(x)5、求.)(102⎰-dx x x 和.1102⎰-dx x x (1) .)(102⎰-dx x x>> syms x>> int(x-x^2,0,1)ans =1/6(2) .1102⎰-dx x x>> syms x>> int(x*(1-x^2)^0.5,0,1)ans =1/36、已知二元函数),(cos )sin(2xy xy z +=试求y x z x z y z x z ∂∂∂∂∂∂∂∂∂222,,,。
MATLAB全部实验及答案实验一、MATLAB基本操作实验内容及步骤1、命令窗口的简单使用(1)简单矩阵的输入(2)求[12+2×(7-4)]÷32的算术运算结果2、有关向量、矩阵或数组的一些运算(1)设A=15;B=20;求C=A+B与c=a+b?(2)设A=[1 2 3;4 5 6;7 8 9],B=[9 8 7;6 5 4;3 2 1];求A*B与A.*B?A*B就是线代里面的矩阵相乘 A.*B是对应位置的元素相乘(3)设a=10,b=20;求i=a/b=0.5与j=a\b=2?(4)设a=[1 -2 3;4 5 -4;5 -6 7]请设计出程序,分别找出小于0的矩阵元素及其位置(单下标、全下标的形式),并将其单下标转换成全下标。
clear,clca=[1 -2 3;4 5 -4;5 -6 7];[x,y]=find(a<0);c=[];for i=1:length(x)c(i,1)=a(x(i),y(i));c(i,2)=x(i);c(i,3)=y(i);c(i,4)=(y(i)-1)*size(a,2)+x(i);endc(5)在MATLAB命令行窗口运行A=[1,2;3,4]+i*[5,6;7,8];看结果如何?如果改成运行A=[1,2;3,4]+i[5,6;7,8],结果又如何?前面那个是虚数矩阵,后面那个出错(6)请写出完成下列计算的指令:a=[1 2 3;3 4 2;5 2 3],求a^2=?,a.^2=?a^2= 22 16 1625 26 2326 24 28a.^2=1 4 99 16 425 4 9(7)有一段指令如下,请思考并说明运行结果及其原因clearX=[1 2;8 9;3 6];X( : ) 转化为列向量(8)使用三元组方法,创建下列稀疏矩阵2 0 8 00 0 0 10 4 0 06 0 0 0方法一:clear,clcdata=[2 8 1 4 6];ir=[1 1 2 3 4 ];jc=[1 3 4 2 1];s=sparse(ir,jc,data,4,4);full(s)方法二:不用三元组法clear,clca=zeros(4,4);a(1,[1,3])=[2,8];a(2,4)=1;a(3,2)=4;a(4,1)=6;a(9) 写出下列指令的运行结果>> A = [ 1 2 3 ]; B = [ 4 5 6 ];>> C = 3.^A>> D = A.^B3、 已知⎪⎭⎫ ⎝⎛+⋅=-334sin 234πt e y t 若需要计算t ∈[-1,1],取间隔为0.01,试计算出相对应的y 值。
模拟试题B一、填空题(2’×18=36’)1、Matlab系统由、、、和5大部分组成。
2、Matlab的基本运算符包括、、等。
3、在Matlab编辑器中运行程序的快捷键是:。
4、函数rand表示:;randn函数表示:;size函数表示:。
5、实现Fourier变换在Matlab中的对应函数为:;Laplace变换的函数:。
6、函数M文件的有效第一行的执行标识为:。
7、通常程序调试有两种方法:和利用。
8、Matlab提供的图形用户界面开发环境是:。
二、简答题(6’×4=24’)1、在命令行中输入“save Filename1a b”表示?2、分析以下函数执行过程,回答问题:function c=testarg1(a,b)if(nargin==1)c=a.^2;elseif(nargin==2)c=a+b;end如果用户使用一个参数调用函数testarg1,函数执行什么功能?如果使用两个参数调用函数testarg1,函数又执行什么?3、打开和关闭文件的函数是什么?分别说明其作用。
4、新建Simulink仿真模型文件的方法是什么?三、程序设计及分析(6’×6+4’=40’)1、编程实现函数3()25f x x x =--的根?2、将下列字符矩阵S 转换为数字矩阵('1''2''3''4'S ⎡⎤=⎢⎥⎣⎦)?3、把矩阵A ,B 分别在垂直方向,水平方向连接,A=[123],B=[456]?4、求()1020x f x x =-+=在00.5x =附近的根?5、编程实现一元二次方程20ax bx c ++=?6、绘制函数图形:1sin(),2cos()y x y x ==。
要求:(1)[]0,2x π∈;(2)数据采样间隔/50π?(3)设置网格;(4)添加图形标注;(5)两幅图叠加在一张图中。
模拟试题B及答案一、填空题(2’×18=36’)9、Matlab系统由Matlab开发环境、Matlab语言、Matlab数学函数库、Matlab图形处理系统和Matlab应用程序接口5大部分组成。
2.12 MATLAB 语言的数值运算-实训2.12.1实训目的1.学会矩阵的建立方法及其矩阵的转置、相乘、求逆等运算;2.识别了解特殊矩阵;3.学会求解方程与方程组;4.学会通过编程解决一些实际问题; 2.12.2实训内容 1.矩阵建立及其运算]4321012345[1-----=A[]0.19.08.07.06.05.04.03.02.01.02=A ]0.19.08.07.06.05.04.03.02.01.0[3=A][40.19.08.07.06.05.04.03.02.01.0e e e e e e e e e e A = ]2222222222[50.19.08.07.06.05.04.03.02.01.0=A求(1)211A A D += (2)232A A D -= (3)4/.13A D = (4)5*.44A A D = (5)5*35A D = (6))2(.^16A D =>> A1=-5:4;>> A2=0.1:0.1:1.0; >> A3=sqrt(A2); >> A4=exp(A2); >> A5=2.^(A2); >> format bank >> D1=A1+A2 D1 =-4.90 -3.80 -2.70 -1.60 -0.50 0.60 1.70 2.80 3.90 5.00 >> D2=A3-A2 D2 =0.22 0.25 0.25 0.23 0.21 0.17 0.14 0.09 0.05 0 >> D3=1./A4 D3 =0.90 0.82 0.74 0.67 0.61 0.55 0.50 0.45 0.41 0.37 >> D4=A4.*A5D4 =1.18 1.40 1.66 1.972.33 2.763.27 3.874.595.44 >> D5=3*A5 D5 =3.22 3.45 3.69 3.964.24 4.55 4.875.22 5.606.00 >> D6=A1.^2 D6 =25.00 16.00 9.00 4.00 1.00 0 1.00 4.00 9.00 16.002.建立矩阵⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡-----=1418712106114231359152345686420B(1)矩阵B 的逆矩阵)(inv B (2)矩阵B 对应的行列式)det(B>> B=[0:2:8;-6:-2;15,9,5,13,3;2,4,11,6,10;12,7,8,1,14]B =0 2.00 4.00 6.00 8.00 -6.00 -5.00 -4.00 -3.00 -2.00 15.00 9.00 5.00 13.00 3.00 2.00 4.00 11.00 6.00 10.00 12.00 7.00 8.00 1.00 14.00 >> inv(B) ans =-0.18 0.29 0.11 0.07 0.07 0.31 -0.72 -0.20 -0.23 -0.07 -0.21 0.11 0.03 0.21 -0.02 0.05 0.11 0.08 0.02 -0.04 0.12 0.04 -0.02 -0.06 0.06 >> det(B) ans =-17568.00(3)利用矩阵元素的提取方法建立以下矩阵 ①矩阵b01:矩阵B 的3~4行元素; ②矩阵b02:矩阵B 的2~5列元素;③矩阵b03:由矩阵B 的1~3行2~4列交叉点所对应的元素组成; >> B=[0:2:8;-6:-2;15,9,5,13,3;2,4,11,6,10;12,7,8,1,14]; >> b01=B(3:4,:) b01 =15.00 9.00 5.00 13.00 3.002.00 4.00 11.00 6.00 10.00 >> b02=B(:,2:5) b02 =2.00 4.00 6.00 8.00 -5.00 -4.00 -3.00 -2.00 9.00 5.00 13.00 3.004.00 11.00 6.00 10.00 7.00 8.00 1.00 14.00 >> b03=B(1:3,2:4) b03 =2.00 4.00 6.00 -5.00 -4.00 -3.00 9.00 5.00 13.00 3.矩阵的转置与翻转已知矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=151413121110987654321m ,求取以下矩阵观察并记录。
PART I 教材复习要点第一章MATLAB入门测试1.11.MATLAB的命令窗口的作用是什么?编辑/调试窗口?图象窗口?MATLAB命令窗口是MATLAB起动时第一个看到的窗口,用户可以在命令窗口提示符">>"后面输入命令,这些命令会被立即执行。
命令窗口也可以用来执行M文件。
编辑/调试窗口是用来新建,修改或调试M文件的。
图像窗口用来显示MATLAB的图形输出。
2.列出几种不同的得到MATLAB帮助的方法。
(1)在命令窗口中输入help <command_name>,本命令将会在命令窗口中显示关于些命令的有信息。
(2)在命令窗口中输入lookfor <keyword>,本命令将会在命令窗口中显示所有的在第一注释行中包含该关键字的命令和函数。
(3)通过在命令窗口输入helpwin或helpdesk启动帮助浏览器,或者是在启动板中选择"Help"。
帮助浏览器包含了基于超文本的MATLAB所有特性的描述,HTML或PDF格式的在线手册,这是MATLAB 最全面的帮助资源。
3.什么是工作区?在同一工作区内,你如何决定它里面存储了什么?工作区是命令、M文件或函数执行时被MATLAB使用的变量或数组的收集器,所有命令都在命令窗口(所有的脚本文件也是从命令窗口执行)共享公共工作区,因此它们也共享所有变量,工作区的内容可以通过whos命令来查看,或者通过工作区浏览器来图形化地查看。
4.你怎样清空MATLAB 工作区内的内容?要清除工作区的内容,只需在命令窗口中输入clear或clear variables即可。
第二章MATLAB基础测试2.11.数组,矩阵,向量有什么区别?数组是在内存中被组织成行和列的数据集合,只有一个名称,数据要通过在数组名后面圆括号里加上表示数据所在行和列的数字来访问。
术语"向量"通常用来描述只有一维的数组,而"矩阵"通常用来描述二维或更多维的数组。
2.回答关于下列矩阵的有关问题⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=0.05.56.03.11.36.01.16.06.04.32.31.1C(a)C 的大小是多少?这是一个3×4数组; (b)C(2,3)的值是多少?c(2,3) = -0.6;(c)列出值为0.6的元素的下标?数组中值为0.6的元素是c(1,4),c(2,1)和c(3,2)。
3.确定下列数组的大小,通过whos 或工作空间窗口(The workspace browser )检查你的答案。
注意在本练习中后面的数组可能要用到前面数组的定义。
(a) u=[10 20*i 10+20] (b) v=[-1;20;3](c) w=[1 0 -9;2 -2 0;1 2 3] (d) x=[u' v] (e) y(3,3)=-7(f) z=[zeros(4,1) ones(4,1) zeros(1,4)'] (g) v(4)=x(2,1)数组大小分别是:(a) 1×3;(b) 3×1;(c) 3×3;(d) 3×2;(e) 3×3;(f) 4×3;(g) 4×14.w(2,1)的值是多少?w(2,1) = 25.x(2,1)的值是多少?x(2,1) = -20i6.y(2,1)的值是多少? y(2,1) = 07.当语句(g )执行后,v(3)的值是多少?v(3) = 3测试2.21. c 数组的定义如下,写出下面子数组的内容。
c =1.1000 -3.2000 3.4000 0.6000 0.6000 1.1000 -0.6000 3.1000 1.3000 0.6000 5.5000 0 (a) c(2,:) (b) c(:,end) (c) c(1:2,2:end) (d) c(6)(e) c(4:end) (f) c(1:2,2:4) (g) c([1 4],2) (h) c([2 2],[3 3])答案:(a) c(2,:) = [0.6 1.1 -0.6 3.1](b) d(:,4) = ⎣⎢⎢⎡⎦⎥⎥⎤0.63.10.0(c) c(1:2,2:4) = ⎣⎢⎡⎦⎥⎤-3.2 3.40.61.1-0.63.1(d) c(6) = 0.6(e) c(4,end) = [-3.2 1.1 0.6 3.4 -0.6 5.5 0.6 3.1 0.0](f) c(1:2,2:end) = ⎣⎢⎡⎦⎥⎤-3.2 3.40.61.1-0.63.1(g) c([1 3],2) = ⎣⎢⎡⎦⎥⎤-3.20.6(h) c([2 2],[3 3]) = ⎣⎢⎡⎦⎥⎤-0.6-0.6-0.6-0.62.当赋值语句执行后,下列数组的内容是多少? (a) a=[1 2 3; 4 5 6; 7 8 9]; a([3 1],:)=a([1 3],:); (b) a=[1 2 3; 4 5 6; 7 8 9]; a([1 3],:)=a([2 2],:); (c) a=[1 2 3; 4 5 6; 7 8 9]; a=a([2 2],:); 答案:(a) a = ⎣⎢⎢⎡⎦⎥⎥⎤789456123 (b) a = ⎣⎢⎢⎡⎦⎥⎥⎤456456456 (c) a = ⎣⎢⎡⎦⎥⎤4564563.当数组执行后,下列数组a 的内容是多少? (a) a=eye(3,3); b=[1 2 3]; a(2,:)=b; (b) a=eye(3,3); b=[4 5 6 ]; a(:,3)=b'; (c) a=eye(3,3);b=[7 8 9];a(3,:)=b([3 1 2]);答案:(a) a = ⎣⎢⎢⎡⎦⎥⎥⎤100123001 (b) a = ⎣⎢⎢⎡⎦⎥⎥⎤104015006 (c) a = ⎣⎢⎢⎡⎦⎥⎥⎤100010978例2.1假设a,b,c 和d 的定义如下⎥⎦⎤⎢⎣⎡=1201a ⎥⎦⎤⎢⎣⎡-=1021b ⎥⎦⎤⎢⎣⎡=23c 5=d 分别指出下列表达式的运算结果 (a) a + b (b) a .* c (c) a * b (d) a * c (e) a + c (f) a + d (g) a .* d (h) a * d答案: (a )这是一个数组或矩阵加法:⎥⎦⎤⎢⎣⎡=+2220b a 。
(b ) 这是一个数组乘法:⎥⎦⎤⎢⎣⎡-=1001*.b a 。
(c ) 这是一个矩阵乘法:⎥⎦⎤⎢⎣⎡--=5221*b a 。
(d ) 这是一个矩阵乘法:⎥⎦⎤⎢⎣⎡=83*c a 。
(e ) 操作非法,两数组形不同 (f ) 数组与标量的加法:⎥⎦⎤⎢⎣⎡=+6756d a 。
(g )数组乘法:⎥⎦⎤⎢⎣⎡=51005*.d a 。
(h ) 矩阵乘法:⎥⎦⎤⎢⎣⎡=51005*d a 。
测试2.4本测试提供了一个快速的检查方式,看你是否掌握了2.8和2.9的基本内容。
如果你对本测试有疑问,你可以重读2.8和2.9,问你的老师,或和同学们一起讨论。
在附录B 中可以找到本测试的答案。
1.假设abcd 的定义如下,计算下面合法运算的结果,如果不合法,指出原因⎥⎦⎤⎢⎣⎡-=2112a ⎥⎦⎤⎢⎣⎡-=1310b ⎥⎦⎤⎢⎣⎡=21c3-=d(a) result = a .* c; (b) result = a * [c c]; (b) result = a .* [c c]; (d) result = a + b * c; (e) result = a + b .* c; 答案:(a) 操作非法。
数据相乘必须有相同形式,或者数组与标量之间相乘。
(b) 合法矩阵相乘:result = ⎣⎢⎡⎦⎥⎤4433(c) 合法数据相乘:result = ⎣⎢⎡⎦⎥⎤21-24 (d) 操作非法。
矩阵相乘b * c 产生一个 1×2数组,而a 是一个2×2数组,故相加非法。
(e) 操作非法。
在两个不同大小的数组之间相乘b .* c 是非法的。
2.求矩阵x ,已知Ax=B,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=101232121A⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=011B 结果可通过x = A/B 操作得到:x = ⎣⎢⎢⎡⎦⎥⎥⎤-0.51.0-0.5练习2.1看下面的数组回答有关问题⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----=0.01.10.01.54.13.14.03.01.01.24.38.26.61.10.00.65.31.20.01.11array a. array1的大小是多少?b. array1(4,1)的值是多少?c. array1(:,1:2)的大小和值为多少?d.array1([1 3],end)的大小和值为多少?2.2下面的变量名那些合法那些不合法.为什么? a. dog1 b. 1dog c. Do_you_know_the_way_to_san_jose d. _help e. What's_up?2.3写出下面的数组的大小和内容.注意后面的数组可能根据前面数组的定义. a. a=1:2:5; b. b=[a' a' a'];c. c=b(1:2:3,1:2:3);d. d=a+b(2,:);e. w=[zeros(1,3) ones(3,1)' 3:5'];f. b([1 3],2)=b([3 1],2);2.4数组定义如下,写下面的子数组的内容⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----=0.01.10.01.54.13.14.03.01.01.24.38.26.61.10.00.65.31.20.01.11array a. array1(3,:)b. array1(:,3)c. array1(1:2:3,[3 3 4])d. array1([1 1],:)2.6a,b,c 的定义如下,如果下面运算是合法的,那么写出结果,如果不合法,说出原因.⎥⎦⎤⎢⎣⎡--=2122a⎥⎦⎤⎢⎣⎡-=2011b⎥⎦⎤⎢⎣⎡-=21a)2(eye d =a. result=a+b;b. result=a*d;c. result=a.*d;d. result=a*c;e. result=a.*c;f. result=a\b;g. result=a.\b;h. result=a .^ b;2.9求下列联立方程组中的各x 的值.20.40.50.40.40.40.20.60.40.60.20.40.60.30.100.20.20.50.60.30.40.60.10.30.50.40.60.10.10.40.60.20.50.10.20.00.10.40.30.10.50.2654321654321654321654321654321654321-=-++++-=+-+++-=----+-=-+--+-=++---=-++++-x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x测试5.1本测试提供了一个快速的检查方式,看你是否掌握了5.1到5.3的基本内容。