《MATLAB程序设计与应用习题(共20页).doc》由会员分享,可在线阅读,更多相关《MATLAB程序设计与应用习题(共20页).doc(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上MATLAB程序设计与实例应用专心-专注-专业1.1 利用MATLAB进行简单的四则运算:。了解%的作用。答: clear 3+5ans = 8 6-5ans = 1 6*7ans = 42 8/2ans = 41 在程序中,“%”后的为注释行。1.2 已知a=5,b=5,求c=a+b,c=ab和ab。写出MATLAB计算程序。答: clear a=5; b=5; c=a+bc = 10 c=a*bc = 25 c=a/bc = 11.5当不需要显示结果时应该如何做?答:当不需要显示结果时,可以在语句的后面直接加“;”。1.7 了解通用操作指令:quit,clear,
2、cla,clf,clc,hold的功能和使用。答:quit:关闭MATLAB。clear:清除内存中的变量。cla:清除坐标。clf:清除图形。clc:清除MATLAB命令窗口的所有显示信息。hold:控制当前图形窗口是否被刷新。1.9 学会打开并保存程序编辑窗口,并在M文档中编写1.4的运算程序并进行运算。答:要打开程序编辑窗口,我们可以在Command Window窗口中,单击工具栏中最左端显示为一张白纸的工具按钮。这样就打开了一个空白的程序编辑窗口,如图1-6所示。在MATLAB的命令窗口输入edit命令,此时系统也会启动MATLAB Editor/Debugger程序编辑窗口,我们可以
3、在这个窗口中编辑文本命令。选择Open,则在程序编辑窗口里打开一个已存在的MATLAB文件(. m)。在这个窗口中,我们可以编辑并保存所编写的程序。a=5;b=5;c=a+bc=a*bc=a/bc = 10c = 25c = 1第二章 数、变量和表达式2.1 MATLAB的运算符有那几类?答; MATLAB的运算符可以分为以下三大类别:1算术运算符(Arithmetic operators):用来进行相关的数学运算,例如,加减乘除四则运算、乘方等。2关系运算符(Relational operators):进行数值或矩阵的大小比较。3逻辑运算符(Logical operators):进行逻辑运算
4、,例如,AND、OR、NOT。2.2 写出相加、相减、矩阵相乘、矩阵乘方、左除、右除、数组相乘、数组乘方、数组左除、数组右除的运算符号及意义。答:符号意义符号意义+相加-相减*矩阵相乘.*数组相乘矩阵乘方.数组乘方左除.数组左除/右除./数组右除2.3 设A=5 9 6 4 5;B=1 2 8 9 6,计算A+B和A-B的结果。答: clear A=5 9 6 4 5;B=1 2 8 9 6; A+Bans = 6 11 14 13 11 A-Bans = 4 7 -2 -5 -12.4 设A=2;B=4,求C=A*B与D=A.*B?答: clear A=2;B=4; c=A*Bc = 8 D
5、=A.*BD = 82.5 设A=8 9 5 6 1 2;B=5 6 3 2 4 5;求A.*B?答: clear A=8 9 5 6 1 2;B=5 6 3 2 4 5; A.*Bans = 40 54 15 12 4 102.6 设A=4;B=2,求C=A/B与D=AB?答: clear A=4;B=2; C=A/BC = 2 D=ABD = 0.50002.7 设a=1 -2 0;4 0 -4;5 -6 0,请设计一个程序,找出小于、等于和大于0的矩阵元素的位置。答: clear a=1 -2 0;4 0 -4;5 -6 0a = 1 -2 0 4 0 -4 5 -6 0 b=find(
6、a b=find(a=0)? b=find(a=0) |Error: The expression to the left of the equals sign is not a valid target for an assignment. b=find(a0)b = 1 2 32.8 设a=-1 0;1 2,判断a中元素是否大于、小于和等于0。答: clear a=-1 0;1 2a = -1 0 1 2 a0ans = 0 0 1 1 a=0a = 0 a clear a=0 2 1 0a = 0 2 1 0 b=2 1 0 0b = 2 1 0 0 x=and(a,b)x = 0 1
7、0 02.10 设a=0 1 2 0,b=1 2 0 0,求a|b的值?(或运算)答: clear a=0 1 2 0;b=1 2 0 0; X= or(a,b)X = 1 1 1 02.11 设a=0 1 0 0,求a的值?(非运算)答: clear a=0 1 0 0a = 0 1 0 0 x=not(a)x = 1 0 1 12.12 设a=0 1 2 0,b=2 1 0 0,求a xor b的值?答: clear a=0 1 2 0;b=2 1 0 0; c=xor(a,b)c = 1 0 1 02.13 设a=2+3i,b=1+2i,求c=a + b、c=a/b和c=ab的值?答:
8、clear a=0 1 2 0;b=2 1 0 0; c=xor(a,b)c = 1 0 1 0 clear a=2+3i;b=1+2i; c=a+bc = 3.0000 + 5.0000i c=a*bc = -4.0000 + 7.0000i c=a/bc = 1.6000 - 0.2000i c=abc = 0.6154 + 0.0769i2.14 计算A=2,3;3,4+i*1,2;4,3。答: clear A=2,3;3,4+i*1,2;4,3A = 2.0000 + 1.0000i 3.0000 + 2.0000i 3.0000 + 4.0000i 4.0000 + 3.0000i2
9、.15 分别用format short和format long显示1/3。答: clearformat short 1/3ans = 0.3333 format long 1/3ans = 0.332.16 设a=0:0.1:1;写出该向量的每一个元。答: clear a=0:0.1:1a = Columns 1 through 4 0 0.000 0.000 0.000 Columns 5 through 8 0.000 0.000 0.000 0.000 Columns 9 through 11 0.000 0.000 1.000第三章 矩阵及其运算3.1如何区分参与运算的是矩阵还是数组?
10、答:数组在MATLAB中,其外观与矩阵毫无差别,但它们却代表完全不同的两种变量。数组具有行与列的概念,其运算多为元素间的运算,这与矩阵是不同的,矩阵作为一个整体,按照线性代数的方法参与运算。另外,数组的输入和保存,与矩阵是一致的,要具体区分参与运算的是矩阵还是数组可以参看运算符。在MATLAB中,矩阵的要素包含如下:1 A(m,n)表示矩阵变量,A是一个m行n列的矩阵。2 整个矩阵用“ ”括起来。3 矩阵各元素使用空格或“,”分开,例如:1 2 3或1,2,3。4 行与列间用“;”区别,如:a=1 2 3;4 5 6,a是一个23矩阵。5 符号“:”在矩阵中是递增的意思,如x=20:25:则表
11、示矩阵x的元素为:x=20 21 22 23 24 256 矩阵在MATLAB中是按先列后行的方式存储的。3.2 在Command Windows写出矩阵。 答: clear a=1 2 3;4 5 6;7 8 9a = 1 2 3 4 5 6 7 8 9 3.3 已知将进行矩阵运算以及数组运算。答: clear a=2 3;4 5;b=6 7;8 9; c=a+bc = 8 10 12 14 c=a-bc = -4 -4 -4 -4 c=a*bc = 36 41 64 73 c=a/bc = 3.0000 -2.0000 2.0000 -1.0000 c=abc = -3 -4 4 5 c=
12、a2c = 16 21 28 37 c=b2c = 92 105 120 137 d=a.*bd = 12 21 32 45 d=a./bd = 0.3333 0.4286 0.5000 0.5556 d=a.bd = 3.0000 2.3333 2.0000 1.8000 d=a.2d = 4 9 16 25 d=b.2d = 36 49 64 813.4 已知求a对应的转置矩阵、逆矩阵、秩、正交矩阵、迹和行列式。答: clear a=1 2 0;2 5 -1;4 10 -1; b=a; b=ab = 1 2 4 2 5 10 0 -1 -1 B=inv(a)B = 5 2 -2 -2 -1
13、 1 0 -2 1 b=rank(a)b = 3 b=orth (a)b = -0.1799 0.5217 -0.8340 -0.4434 -0.7998 -0.4047 -0.8781 0.2970 0.3752 b=det(a)b = 1 b=trace(a)b = 53.5已知求a对应的本征值与本征向量。答: clear a=1 2 0;2 5 -1;4 10 -1; b c=eig(a)b = -0.2440 -0.9107 0.4472 -0.3333 0.3333 0.0000 -0.9107 -0.2440 0.8944c = 3.7321 0 0 0 0.2679 0 0 0
14、1.00003.6已知将a(2,3)=-1替换为a(2,3)=0。答:3.7已知将a的第二行元素全部替换为0,然后将第二列元素全部替换为1。答: clear a=1 2 0;2 5 -1;4 10 -1; a(2,:)=0a = 1 2 0 0 0 0 4 10 -1 a(:,2)=1a = 1 1 0 0 1 0 4 1 -1第四章 程序的结构和流程控制4.1 请设计一段程序,求等差数列(通项公式为)的前项的和,并可给出任意项的值。其中设,。并由通项公式和前项和的公式核对。答: clearsum=0; % 设置初值(必须要有)for ii=1:2:100; % for循环,增量为2sum=sum+ii;endsumsum = 25004.2 请设计一段程序,求等比数列(通项公式为)的前项的和,并可给出任意项的值。其中设,分别取2和0.5。并由通项公式和前项和的公式核对。4.3 设计一个程序计算下式偶数奇数对任意给定值的和。4.5设计一程序选出一维数组A中的最大(小)值,并给出最大值的位置。4.6设计一程序将一维数组x=11 9 11 5 6 11 4 3 2 1;按照从小到大重新排序。