matlab上机实验指导书(3)

2018-12-12 22:49

0 2.5000 5.0000 7.5000 10.0000

2.2.4 矩阵拆分

1.利用冒号表达式获得子矩阵

(1) (:,j)表示取A矩阵的第j列全部元素;A(i,:)表示取A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。

(2) (i:i+m,:)表示取A矩阵第i~i+m行的全部元素;A(:,k:k+m)表示取A矩阵第k~k+m列的全部元素;A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素。例如:

A=[1,2,3,4,5;6,7,8,9,10;11,12,13,14,15;16,17,18,19,20]; A(2:3,4:5) ans=

9 10 14 15 2.利用空矩阵删除矩阵的元素 在MATLAB中,定义[ ]为空矩阵。向量X赋空矩阵的语句为X=[ ],X=[ ]与clear X不同,clear是将X清除出工作空间,而空矩阵则存在于工作空间,只是维数为0。

将某些行与列从矩阵中移去,采用将其置为空矩阵的方法就是一种有效的方法。例如:

A=[1 2 3 4 5 6;7 8 9 10 11 12;13 14 15 16 17 18]; A(:,[2 4])=[ ]

其中第二条命令将删除A的第二列和第四列元素。其输出为: A=

1 3 5 6 7 9 11 12 13 15 17 18

2.2.5 who、whos和永久变量

1.who和whos

who和whos这两个命令的作用都是列出在MATLAB工作空间中已经驻留的变量名清单。但whos在给出驻留变量名的同时,还给出它们的维数和性质。 2.永久变量

在MATLAB工作空间中,还驻留几个由系统本身定义的变量。由于它们不能被clear清除,故称为永久变量。除前面介绍过的ans外,其余常用的永久变量有: eps MATLAB计算浮点数的误差限

pi 圆周率л的近似值3.14159265358979

9

inf或Inf 无穷大,如一个数除以0的结果 NaN 非数,例如0/0、inf/inf产生的结果 i或j 虚数单位

realmax MATLAB所能表示的最大浮点数 realmin MATLAB所能表示的最小浮点数

2.3 MATLAB表达式

2.3.1算术表达式

MATLAB的算术运算符有: +(加)、-(减)、*(乘)、/(右除)、\\(左除)、^(乘方)

对于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵的关系。对于除数是标量的运算,两种除法运算的结果相同,如3/4=4\\3=0.7500; 又如,a=[10.5,2.5],则a/5=5\\a=[2.1000,0.5000]。

2.3.2 关系表达式

MATLAB提供了6种关系运算符: <(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、==(等于)、~=(不等于)

运算法则:

(1) 当两个比较量是标量时,直接比较两个数的大小。若关系成立,关系表达式结果为1,否则为0。

(2) 当参与比较的量是两个维数相同的矩阵时,比较是对两个矩阵相同位置的元素按标量关系运算规则逐个进行,并给出元素比较结果。最终的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。

(3)当参与比较的一个是标量,另一个是矩阵时,则把标量与矩阵的每一个元素按标量关系运算规则逐个比较,并给出元素比较结果。最终的运算结果是一个维数与矩阵相同的矩阵,它的元素由0或1组成。 (4)算术运算比关系运算具有更高的优先权。

A=[1,1,2;2,3,1;4,2,1]; B=[1,1,1;1,1,1;1,1,1]; A<=B ans=

1 1 0 0 0 1 0 0 1

10

2.3.3 逻辑表达式

MATLAB提供了三种逻辑运算符:&(与)、|(或)、~(非)。 运算法则:

(1)逻辑运算中,确认非零元素为真,用1表示,零元素为假,用0表示。 (2)若参与逻辑运算的是两个标量a和b,那么

a&b a,b全为非零时,运算结果为1,否则为0。 a|b a,b中只要有一个非零,运算结果为1.

~a 当a是零时,运算结果为1,当a是非零时,运算结果为0。

(3) 若参与逻辑运算的是两个同维矩阵,那么运算将对矩阵相同位置上的元素按标量规则逐个进行。最终结果是一个与原矩阵同维数的矩阵,其元素由1或0组成。

(4) 若参与逻辑运算的一个是标量,一个是矩阵,那么运算将在标量与矩阵中的每个元素之间按标量规则逐个进行。最终结果是一个与矩阵同维数的矩阵,其元素由1或0组成。

(5)逻辑“非”是单目运算符,也服从矩阵运算规则。

(6)在算术、关系、逻辑运算中,算术运算优先级最高,逻辑运算优先级最低。 例:A=[0 1 0 2 0 3 0 4]; B=[0 1 0 0 0 1 0 0]; A&B ans=

0 1 0 0 0 1 0 0 A|B ans=

0 1 0 1 0 1 0 1 ~A ans=

1 0 1 0 1 0 1 0

2.4 MATLAB常用数学函数

MATLAB提供了几乎所有初等数学函数,包括三角函数、对数函数、指数函数和复数运算函数等。函数的自变量规定为矩阵变量,运算法则是将函数逐项作用于矩阵的元素上,因而运算的结果是一个与自变量同维数的矩阵。函数的调用格式为:

11

函数名(变量)

1. 三角函数

sin 正弦函数 cos 余弦函数 tan 正切函数 asin 反正弦函数 acos 反余弦函数 atan 反正切函数 sinh 双曲正弦函数 cosh 双曲余弦函数 tanh 双曲正切函数 asinh 反双曲正弦函数 acosh 反双曲余弦函数 atanh 反双曲正切函数

2. 基本函数

abs 实数的绝对值、复数的模、字符串的ASCII码值 angle 复数的复角 sqrt 平方根函数 real 复数的实部 imag 复数的虚部

conj 复数共轭运算 round 四舍五入到最近邻的整数 fix 向零方向取整 floor 不大于自变量的最大整数 sign 符号函数 ceil 不小于自变量的最小整数 rem 求余数或模运算 gcd 最大公因子 lcm 最小公倍数 exp 自然指数函数

log 自然对数函数 log10 以10为底的对数函数 例:

a=[1 2 3 4 5]; %定义向量a

sin(a) %计算向量a的正弦 ans=

0.8415 0.9093 0.1411 -0.7568 -0.9589 fix(pi*a) ans=

3 6 9 12 15

2.5 矩阵的基本运算

矩阵运算是MATLAB运算的基础。

1. 矩阵转置

矩阵的转置用符号“’”来表示和实现。假如A矩阵为一个m*n矩阵,则其转置矩阵B的元素定义如下:

bji=aij (i=1,?,m,j=1,?,n) 例如:

A=[1 2 3;4 5 6;7 8 9]; B=A’

12

输出为: B=

1 4 7 2 5 8 3 6 9

若A矩阵含有复数元素,则对之进行转置时,其转置矩阵B的元素定义为*

bji=aij,i=1,?,m,j=1,?n,亦即首先对各个元素进行转置,然后再逐项求取其共轭复

*

数值,这种转置方式又称为Hermit转置,其数学记号为B=A。例如:

A=[5+i,2-i,3.1;6*i,4,7-2i]; B=A’ B=

5.0000-1.0000i 0-6.0000i 2.0000+1.0000i 4.0000

3.1000 7.0000+2.0000i

2. 矩阵的加和减

矩阵的加减运算使用的是“+”和“-”运算符。假设有两个矩阵A和B,则可以由下面的命令执行矩阵加减法:C=A+B和C=A-B。运算规则是:若A和B矩阵的维数相同,则可以执行矩阵的加减法,矩阵的加减就是A和B矩阵的相应元素相加减。如果A和B的维数不相同,则MATLAB将给出错误信息,提示用户两个矩阵的维数不匹配。

3. 矩阵乘法

矩阵乘法用*表示。假设有两个矩阵A和B,若A为m?n矩阵,B为n?p矩阵,则C=A*B是m?p矩阵,其各个元素为:

cij=

?ak?1nik?bkj (i=1,2,?,m;j=1,2,?,p)

例如:

A=[1,2,3;4,5,6];B=[1,2;3,0;7,4]; C=A*B

C=

28 14 61 32

矩阵A和B进行乘法运算,要求A的列数与B的行数相同,此时称A,B矩阵是可乘的,或称A和B矩阵维数相容。如果两者的维数不相容,则将给出错误信息,表示两个矩阵是不可乘的。

在MATLAB中还可以进行矩阵和标量相乘,标量可以是乘数也可以是被乘数。

13


matlab上机实验指导书(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:江西省抚州市南城一中、崇仁一中联考2017-2018学年高一下学期期

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: