matlab课堂练习题_第1页
matlab课堂练习题_第2页
matlab课堂练习题_第3页
matlab课堂练习题_第4页
matlab课堂练习题_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一讲练习(1)利用MATLAB完成线性代数中矩阵相关练习。(2)在命令窗口输入“u=55+2”,然后依次使用clc和clear命令,分别观察命令窗口、工作空间窗口和历史命令窗口的变化。(3)将硬盘上一已有目录,加入到搜索路径,并将其设置为当前工作目录。(4)使用命令 help 和 help demos。helphelp demons(5)使用命令lookfor。lookfor complexlookfor fourier(6)通过联机帮助,查询函数sin()的用法。(7)通过命令窗口,查询函数inv()的用法。(8)通过联机演示系统,查询并运行 “Control Systems Toolbo

2、xes”的 “Case Studies” 中的 “Yaw Damper for a 747 Aircraft” 演示程序。(9)在命令窗口依次执行“a=5;”、“b=2*a,”和“c=a+b”。(10)在命令窗口同时执行下述代码: a=5; b=2*a, c=a+b观察结果。(11)求12 + 2 × (7 4) ÷ 32的算术运算结果。*提示:用键盘在MATLAB 命令窗口中输入以下内容(12+2*(7-4)/32*在上述表达式输入完成后,按【Enter】键,该就指令被执行。*在指令执行后,MATLAB 命令窗口中将显示结果。(12)简单矩阵的输入步骤。*在键盘上输入下列

3、内容A = 7,8,9;4,5,6;1,2,3*按【Enter】键,指令被执行。*在指令执行后,MATLAB 命令窗口中将显示结果。(13)【例3】矩阵的分行输入。采用以下格式输入矩阵:A=1,2,34,5,67,8,9请注意结果。(14)命令续行输入在命令窗口中输入:S=1 - 1/2 + 1/3 - 1/4 + .1/5 - 1/6 + 1/7 - 1/8请注意结果。(15)用MATLAB 计算。请给出结果。(16)画出衰减振荡曲线及其它的包络线,t 的取值范围是 0,4 。t=0:pi/50:4*pi;y0=exp(-t/3);y=exp(-t/3).*sin(3*t);plot(t,y

4、,'-r',t,y0,':b',t,-y0,':b');grid(17)画出所表示的三维曲面。x, y 的取值范围是 8,8。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; %<6>surf(X,Y,Z); %(18)作螺旋线 .输入以下命令:t=0:pi/50:10*pi; plot3(sin(t),cos(t),t); 注意结果。(19)练习将子窗口从主界面中独立出来。(20)练习使用历

5、史窗口中的命令。第二讲上机练习(1)使用以下三种方法输入矩阵:A = 1,2,3;4,5,6或A = 1 2 3;4 5 6或A = 1 2 3 4 5 6注意观察结果。(2)练习变量赋值表达式变量 = 表达式a=1 2 3 4 5; b=1 3 5 7 9;c=a.*bd=a*be=a'*bs1=Hello;s2=every;s3=body;s=s1,s2, ,s3;ss=s(1:5)x= 1 2 3; 4 5 6; 7 8 9 ;y= 1 1 1; 2 2 2; 3 3 3 ;u='计算'z=x + y*i (3)利用预定义变量进行相关计算(pi,ans,i,j,i

6、nf) 2*pi 3*ans(4)输入以下命令:(显示内存中的变量) who whos(5)使用变量编辑器修改z的计算结果,将其修改为实数。x= 1 2 3; 4 5 6; 7 8 9 ;y= 1 1 1; 2 2 2; 3 3 3 ;z=x + y*i (6)将工作空间变量全部保存名为mydata的文件。(7)利用save命令有选择的保存变量。首先输入:clear;clc;A = -3.5 4.6;B = round (), C = floor (),D = ceil (), E = fix (), F = rats ()而后利用save命令保存 D 和 F 。(8)利用format命令改变

7、命令窗口的数值输出格式。(9)使用矩阵生成函数生成特殊矩阵。zeros(m,n),ones(m,n),rand(m,n),randn(m,n),magic(N),eye(m,n)注意观察特殊矩阵的特征。(10)使用from : step : to方式生成行向量from:tofrom:step:to注意步长的控制。x1=2: 5x2=2: 0.5: 4x3=5: -1: 2x4=2: -1: 3x5=2: -1: 0.5相关补充:函数:linspace(a,b,n)说明:a、b、n三个参数分别表示开始值、结束值和元素个数。生成从a到b之间线性分布的n个元素的行向量,n如果省略则默认值为100。x

8、6 = linspace(0,2*pi,5) %从0到2*pi等分成5个点函数:logspace(a,b,n)说明:a、b、n三个参数分别表示开始值、结束值和数据个数,n如果省略则默认值为50。生成从10a到10b之间按对数等分的n个元素的行向量。x7 = logspace(0,2,3) %从1到100对数等分成3个点(11)全下标方式矩阵操作练习。依次输入下列命令:a=1 2;3 4;5 6; a(3,3) %提取a(3,3)的值 a(3,3)=9 %给a(3,3) 赋值a %查看a的数值(12)将以下矩阵的第2行和第5列删除,最后将所有矩阵元素删除。A=magic(8);(13)采用线性引

9、用方式访问元素。B= magic(8);B(11)B(55)注意总结线性访问元素的下标与行列号之间的关系。(14)利用操作副“ : ”访问多个元素。A=magic(5);Am=A(2 , 2 :4)A(1 ::4 , 2 :8)(15)改变矩阵的结构练习。输入矩阵 a = 1 2 0 3 4 0 5 6 9依次使用下列函数对矩阵 a 进行操作。triu(X)产生X矩阵的上三角矩阵,其余元素补0。triu(a)tril(X)产生X矩阵的下三角矩阵,其余元素补0。tril(a)flipud(X)使矩阵X沿水平轴上下翻转。flipud(a)fliplr(X)使矩阵X沿垂直轴左右翻转。fliplr(a

10、)flipdim(X,dim)使矩阵X沿特定轴翻转。dim=1,按行维翻转;dim=2,按列维翻转。flipdim(a,1)rot90(X)使矩阵X逆时针旋转90度,triu(X)。 rot90(a) 第三讲练习(1)求 x1 = 1 2 ; 3 4 ; 5 6 与 x2 = eye(3 , 2) 的矩阵和数组加减乘除运算结果。(2)求 x1=1 2 ; 3 4 与 x2=eye(2) 的矩阵与数组的除法和乘方运算。(3)矩阵, 分别对两个矩阵作加()、减()、乘(*)和除(左除,右除/)、乘方()运算,同时运用(.*),(./),(.)进行运算,比较二者的计算结果有何异同。 (4)计算 p(

11、x) = x3 + 21x2 + 20x 多项式在 x = 23 和 x = 1 2 3 4 5 6时的值。*polyval(p,s)(5)计算多项式 p1(x) = x3 + 21x2 + 20x 的根以及由多项式的根得出系数。(6)求方程x4+8x3+3x-100的根。(roots)(7)计算表达式 。(8)计算表达式的“商”和“余”多项式。(9)计算多项式 p1(x) = x3 + 21x2 + 20x 的微分与积分。(10)矩阵 进行转置和求逆,并求出矩阵A的秩、行列式的值、特征值。 (inv,det,eig,rank)(11)已知方程组,分别用矩阵除法和求逆来解线性方程组。inv(A

12、)*b; A b(12)求代数方程组的解(13)小苏打与柠檬酸反应的未配平化学方程式如下:,利用Matlab将该反应的配平。*(提示:用解线性方程组方法)(14)求 3 阶方阵 A 的特征多项式并转换为完整形式显示出来。A = 11 12 13;14 15 16;17 18 19;*poly 和 poly2str 的应用(15)练习以下特殊矩阵函数。函数 zeros全0矩阵函数 ones全1矩阵函数 eye单位矩阵函数 rand产生01均匀分布的随机矩阵函数 randn产生均值为0、方差为1的标准正态分布随机矩阵魔方矩阵 magic范德蒙矩阵 vander托普利兹矩阵 toeplitz帕斯卡矩

13、阵 pascal第四讲上机练习(1)用plot(x)命令画直线。x1=1 2 3;x2=0 1 0 (2)绘制正弦曲线y=sin(x)和方波曲线。(3)利用矩阵绘制图线,观察结果。X=peaks;plot(X)(4)在一个图形窗口内,利用 plot 绘制多条三角函数曲线,注意默认的结果特征。*hold on(5)用不同线段类型、颜色和数据点形画出 sinx 和 cosx 曲线。(6)用图形表示连续调制波形 y = sin(t)sin(9t) ,数据点之间不用曲线连接。(7)将图形窗口分割为四个子图,并绘制适当的图形。*subplot(8)在图形窗口中增加标识。基于x=0: 0.1 : 2*pi

14、 ;plot(x,sin(3*x);hold on;plot(x,cos(2*x),'ro');增加图标题、坐标轴标识、图例并在特定位置增加文字注释。*text、legend、title、xlabel(9)利用帮助学习 plotyy 的功能,并利用它在同一图形窗口中绘制 sinx 和 2cos(2x) 的图形。(10)三维曲线绘图,运行以下命令,注意观察结果。 x = 0 : 0.1 : 20*pi; plot3 ( x , sin(x) , cos(x) )(11)以 sin(t) 、 cos(t) 和 cos(2*t) 为坐标绘制三维曲线。(12)使用 meshgrid 命

15、令并观察结果。x = 1 2 3 4 ;y = 5 6 7 ; xx , yy = meshgrid( x , y )(13)测试 meshgrid 的使用方法。x=linspace(-3,3,49);y=linspace(-3,3,49);xx,yy=meshgrid(x,y) ; %产生49*49的栅格点坐标mesh(xx) %查看xx的网线图mesh(yy) zz=3*(1-xx).2.*exp(-(xx.2) - (yy+1).2) . - 10*(xx/5 - xx.3 - yy.5).*exp(-xx.2-yy.2) . - 1/3*exp(-(xx+1).2 - yy.2); %

16、产生peaks函数plot3(xx,yy,zz)(14)上题中再使用 mesh 、 surf 命令绘制结果图。(15)用 meshz 和 meshc 查看 peaks 函数的三维曲面图。*X,Y,Z = peaks(100)(16)使用以下修饰命令对图形进行调整。colormap(MAP) colorbar()shading faceted / flat / interphidden on/offview(az,el)waterfall / meshzcontour(Z,n) / contour3(Z,n)(17)特殊命令绘图。4.3 MATLAB的特殊图形绘制4.3.1条形图条形图常用于对统

17、计的数据进行作图,特别适用于少量且离散的数据。绘制条形图的函数如表4.10所示。表4.10 条形图函数函数功能函数功能bar垂直条形图bar3三维垂直条形图barh水平条形图bar3h三维水平条形图语法:bar(x,y,width,'参数') %画条形图bar3(y,z,width,'参数') %画三维条形图说明:x是横坐标向量,省略时默认值是1:m,m为y的向量长度;y是纵坐标,可以是向量或矩阵,当是向量时每个元素对应一个竖条,当是m×n的矩阵时,将画出m组竖条每组包含n条;width是竖条的宽度,省略时默认宽度是0.8,如果宽度大于1,则条与条之间

18、将重叠;'参数'有grouped(分组式)和stacked(累加式),省略时默认为grouped。bar3命令的格式也相同,y必须是单调增加或减小,省略时为1:m;'参数'除了grouped和stacked还有detached(分离式)。【例4.19】用条形图表示某年一月份中3日6日连续四天的温度数据,y矩阵的各列分别表示平均温度、最高温度和最低温度,如图4.23所示,用条形图和三维条形图分别表示。 x=3:6; y=5.3000 13.0000 0.40005.1000 11.8000 -1.70003.7000 8.1000 0.60001.5000 7.7

19、000 -4.5000 bar(x,y) %画条形图 bar3(x,y) %画三维条形图 程序分析:由上图看出条形图是按行分组的,每组为每天的平均温度、最高温度和最低温度。4.3.2面积图和实心图1. 面积图面积图是在曲线与横轴之间填充颜色,用于绘制面积图的命令为“area”,只能用于二维绘图。语法:area(y) %画面积图area(x,y)说明:y可以是向量或矩阵,如果y是向量则绘制的曲线和plot命令相同,只是曲线和横轴之间填充颜色,如果y是矩阵则每列向量的数据构成面积叠加起来;x是横坐标,当x省略时则横坐标为1:size(y,1)。2. 实心图实心图是将数据的起点和终点连成多边形,并填

20、充颜色,绘制实心图的命令为“fill”。语法:fill(x,y,c) %画实心图说明:c为实心图的颜色,可以用'r'、'g'、'b'、 'c'、'm'、'y'、'w'、'k',或RGB三元组行向量表示,也可以省略。【例4.19续】绘制面积图和实心图,并比较其区别,如图4.24所示。 area(x,y) %面积图 fill(x,y,'r') %红色的实心图 程序分析:由上图可知面积图是绘制曲线和横轴间的面积,y的各列叠加在一起的,而实心图是将起点和终点连

21、接并填充颜色的多边形。4.3.3直方图语法:hist(y,m) %统计每段的元素个数并画出直方图hist(y,x)说明:m是分段的个数,省略时则默认为10;x是向量,用于指定所分每个数据段的中间值;y可以是向量或矩阵,如果是矩阵则按列分段。【例4.20】用直方图表示正态分布的随机数分布,如图4.25所示。 y=randn(10,2) %产生10*2的正态分布的随机数矩阵 y = -1.1878 -1.1859 -2.2023 -1.0559 0.9863 1.4725 -0.5186 0.0557 0.3274 -1.2173 0.2341 -0.0412 0.0215 -1.1283 -1.

22、0039 -1.3493 -0.9471 -0.2611 -0.3744 0.9535 x=-2:0.5:2; hist(y,x) 程序分析:直方图显示的是y在x附近的元素的个数,如-2附近有一个。产生的随机数不同则得出的直方图也不同。4.3.4饼图饼图是用于显示向量中的各元素占向量元素总和的百分比,可以用pie和pie3命令分别绘制二维和三维饼图。语法:pie(x,explode,label) %画二维饼图pie3(x,explode,label) %画三维饼图说明:x是向量;explode是与x同长度的向量,用来决定是否从饼图中分离对应的一部分块,非零元素表示该部分需要分离;label是用

23、来标注饼图的字符串数组。【例4.21】绘制四个季度支出额的饼图,如图4.26所示。 y=200 100 250 400;%四个季度支出额 explode=0 0 1 0; pie(y,explode,'第一季度','第二季度','第三季度','第四季度') 4.3.5离散数据图MATLAB提供了多个绘制离散数据的命令,有stem、stem3、stairs和scatter等。【例4.22】使用几种绘制离散数据的命令来显示的离散数据,如图4.27所示。 x=0:0.1:2*pi; y=sin(x).*exp(-2*x); subplo

24、t(3,1,1) stem(x,y,'filled') %画火柴杆图 subplot(3,1,2) stairs(x,y) %画阶梯图 subplot(3,1,3) scatter(x,y) %画点图 程序分析:'filled'参数是来填充火柴杆图的点标记。4.3.6对数坐标和极坐标图1. 对数坐标图形对数坐标图形有semilogx、semilogy和loglog命令。语法:semilogx(x,y,'参数') %绘制x为对数坐标的曲线semilogy(x,y,'参数') %绘制y为对数坐标的曲线loglog(x,y,'参

25、数') %绘制x、y都为对数坐标的曲线说明:参数和plot命令一样,只是坐标不同。【例4.23】求传递函数为的对数幅频特性曲线,如图4.28所示,横坐标为w按对数坐标。 w=logspace(-2,3,20); %频率w为0.01到1000 Aw=1./(w.*sqrt(0.5*w).2+1); %计算幅频 Lw=20*log10(Aw); %计算对数幅频 semilogx(w,Lw) title('对数幅频特性曲线') 2. 极坐标图极坐标图由polar命令来实现。语法: polar(theta,radius,'参数') %绘制极坐标图说明:theta

26、为相角,radius为离原点的距离。【例4.23续】用极坐标图表示上述传递函数的Nyquist曲线,如图4.29所示。 w=logspace(-2,3,20); Fw=-90-atan(0.5*w); polar(Fw,Aw) 4.3.7等高线图语法: contour(Z,n) %绘制Z矩阵的等高线 contour(x,y,z,n) %绘制以x和y指定x、y坐标的等高线说明:n为等高线的条数,省略时为自动条数。【例4.24】绘制peaks函数的等高线,如图4.30所示。 x,y,z=peaks; contour(x,y,z) %画二维等高线 contour3(z,30) %画30条三维等高线

27、4.3.8复向量图1. compass命令compass绘制的是以原点为起点的一组复向量,因此又称为罗盘图。语法: compass(u,v) %画罗盘图 compass(Z) 说明:u、v分别为复向量的实部和虚部;当只有一个参数Z时,则相当于compass(real(Z),imag(Z)。2. feather命令feather绘制的是起点为(k,0)的复向量图,又称为羽毛图。语法: feather(u,v) %画羽毛图 feather (Z)【例4.25】用罗盘图和羽毛图绘制复向量,如图4.31所示。 theta=0:0.2:2*pi; z=sin(theta).*exp(j*theta);

28、compass(z) feather(z) 程序分析:羽毛图的绘制起点是(k,0),k从1n,n是Z向量的元素序号。第五讲上机练习(1)一维插值练习。原始数据点:t = 0:10:100; y=1-cos(2*t).*exp(-t);利用一维插值命令将四种插值方式的结果显示出来,并求 t = 50 时的结果。*interp1(2)二维插值练习。原始数据点:randn('state',2)x=-15:15;y=-15:15;X,Y=meshgrid(x,y);zz=1.2*exp(-(X-5).2+(Y-2).2)-0.7*exp(-(X+10).2+(Y+81).2);Z=-5

29、00+zz+randn(size(X)*0.08;首先请将原始数据图绘出。利用二维插值命令绘制出精细的曲面图。*interp2、meshgrid(3)对多项式 y = 8x4 + 2x3 - x 2 + 5x + 10 曲线拟合,其中 x = 0 : 10 。请进行 1 4 阶拟合,并绘制出结果和误差。(4)练习使用拟合工具 Curve Fitting tool 。(5)分别利用多项式求导法和差分方法求 y = sinxcosx 的在0 2之间的导数,步长取值为0.001。(6)练习使用 sym(' ') 和 syms 建立符号变量和表达式。sym('x')sy

30、ms a b c xsyms('a','b','c','x')(7)求符号表达式 f = 5x2 + 3x + 4 与 g = 9x + 6 的代数运算结果(和×)。(8)对表达式进行任意精度控制的比较。*digits(n)、vpa(s,n) 、N=double(s) 、N=numeric(s)(9)合并同类项练习 y = (x-21)(x-12)(x-3) + x*collect(10)函数 expand 的用法,展开 f = (x+y+z)3,g = sin(x-y) 和 h = cos2x-sin2x。(11)函数

31、 factor 的运用,因式分解。f (x) = x3 + 6x2 + 11x - 6补充:在MATLAB中finverse函数可以求得符号函数的反函数。语法:finverse(f,v) %对指定自变量v的函数f(v)求反函数说明:当v省略,则对默认的自由符号变量求反函数。(12)分别求 1 / x 在 0 处从两边趋近、从左边趋近和从右边趋近的三个极限值。(13)求 t 趋向于 0 时,(cos(x+t)-cos(x) / t 的极限。(14)已知 f 2ax3 + bx + c + a2,分别求 f 对 x 和 a 的微分(一、二 和 三 阶)。(15)泰勒级数展开练习(默认项和指定项数):cosx,1/(x+2),.taylor(16)求方程 ax2 + bx + c = 0 和 sinx = 0 的解(17)求三元方程组的解。(18)求微分方程 , y(1)=0 , y(0)=0 的解。*dsolve

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论