矩阵及其基本运算(6)

2019-04-16 14:47

MATLAB6.0数学手册 0)=NaN,若x≠0,则整数部分由fix(A./x)表示,余数C=A-x.*fix (A./x)。允许模x为小数。

7.矩阵逻辑运算

设矩阵A和B都是m×n矩阵或其中之一为标量,在MATLAB中定义了如下的逻辑运算:

(1)矩阵的与运算

格式 A&B或and(A, B)

说明 A与B对应元素进行与运算,若两个数均非0,则结果元素的值为1,否则为0。 (2)或运算

格式 A|B或or(A, B)

说明 A与B对应元素进行或运算,若两个数均为0,则结果元素的值为0,否则为1。 (3)非运算

格式 ~A或not (A)

说明 若A的元素为0,则结果元素为1,否则为0。 (4)异或运算 格式 xor (A,B)

说明 A与B对应元素进行异或运算,若相应的两个数中一个为0,一个非0,则结果为0,否则为1。

例1-57

>> A=[0 2 3 4;1 3 5 0],B=[1 0 5 3;1 5 0 5]

A =

0 2 3 4 1 3 5 0 B =

1 0 5 3 1 5 0 5

>> C1=A&B,C2=A|B,C3=~A,C4=xor(A,B)

C1 =

0 0 1 1 1 1 0 0 C2 =

1 1 1 1 1 1 1 1 C3 =

1 0 0 0 0 0 0 1 C4 =

1 1 0 0 0 0 1 1

1.2.15 符号矩阵运算

1.符号矩阵的四则运算

Matlab 6.x 抛弃了在4.2版中为符号矩阵设计的复杂函数形式,把符号矩阵的四则运算简化为与数值矩阵完全相同的运算方式,其运算符为:加(+)、减(-)、乘(3)、除(/、\\)等或:符号矩阵的和(symadd)、差(symsub)、乘 (symmul)。

26 第1章 矩阵及其基本运算

例1-58 >>A?sym(?[1/x,1/(x?1);1/(x?2),1/(x?3)]?);

>>B?sym(?[x,1;x?2,0]?); >>C=B-A >>D=a\\b

则显示:

C=

x-1/x 1-1/(x+1)

x+2-1/(x+2) -1/(x+3) D=

-6*x-2*x^3-7*x^2 1/2*x^3+x+3/2*x^2

6+2*x^3+10*x^2+14*x -2*x^2-3/2*x-1/2*x^3

2.其他基本运算

符号矩阵的其他一些基本运算包括转置(')、行列式(det)、逆(inv)、秩(rank)、幂(^)和指数(exp和expm)等都与数值矩阵相同

3.将数值矩阵转化为符号矩阵

函数 sym

格式 B=sym(A) %将A转化为符号矩阵B 例1-59

>> A=[2/3,sqrt(2),0.222;1.4,1/0.23,log(3)]

A =

0.6667 1.4142 0.2220 1.4000 4.3478 1.0986 >> B=sym(A)

B =

[ 2/3, sqrt(2), 111/500] [ 7/5, 100/23, 4947709893870346*2^(-52)]

4.符号矩阵的索引与修改

符号矩阵的索引与修改同数值矩阵的索引与修改完全相同,即用矩阵的坐标括号表达式实现。

例1-60 对上例中的矩阵B

>> B(2,3) %矩阵的索引

ans =

4947709893870346*2^(-52)

>> B(2,3)='log(7)' %矩阵的修改

B =

[ 2/3, sqrt(2), 111/500] [ 7/5, 100/23, log(7)]

5.符号矩阵的简化

符号工具箱中提供了符号矩阵因式分解、展开、合并、简化及通分等符号操作函数。 (1)因式分解

函数 factor

格式 factor(s) %符号表达式s的因式分解函数

说明 S为符号矩阵或符号表达式,常用于多项式的因式分解。

9

例1-61 将x -1分解因式 在Matlab命令窗口键入:

syms x

factor(x^9-1)

27 MATLAB6.0数学手册 则显示:ans =

(x-1)*(x^2+x+1)*(x6+x^3+1)

?(1??)x1?2x2?4x3?0?例1-62 问“入”取何值时,齐次方程组?2x1?(3??)x2?x3?0有非0解?

??x1?x2?(1??)x3?0解:在Matlab编辑器中建立M文件:

syms k

A=[1-k -2 4;2 3-k 1;1 1 1-k]; D=det(A)

factor(D)

其结果显示如下:

D =

-6*k+5*k^2-k^3 ans =

-k*(k-2)*(-3+k)

从而得到:当k=0、k=2或k=3时,原方程组有非0解。 (2)符号矩阵的展开

函数 expand

格式:expand(s) %符号表达式s的展开函数

说明:s为符号矩阵或表达式。常用在多项式的因式分解中,也常用于三角函数,指数函数和对数函数的展开中。

例1-63 将(x+1)3、sin(x+y)展开 在Matlab编辑器中建立M文件:

syms x y

p=expand((x+1)^3) q=expand(sin(x+y))

则结果显示为

p =

x^3+3*x^2+3*x+1 q =

sin(x)*cos(y)+cos(x)*sin(y)

(3)同类式合并

函数 Collect

格式 Collect(s,v) %将s中的变量v的同幂项系数合并

Collect(s) % s是矩阵或表达式,此命令对由命令findsym函数返回的默认变

量进行同类项合并。 (4)符号简化

函数 simple或simplify %寻找符号矩阵或符号表达式的最简型 格式 simple (s) % s是矩阵或表达式

[R,how]=simple (s) %R为返回的最简形,how为简化过程中使用的主要方法。 说明 Simple(s)将表达式s的长度化到最短。若还想让表达式更加精美,可使用函数Pretty。

格式 Pretty(s) %使表达式s更加精美

28 第1章 矩阵及其基本运算

11bb2b41cc2c41dd2d4例1-64 计算行列式

aa2a4的值。

在Matlab编辑器中建立M文件:

syms a b c d

A=[1 1 1 1;a b c d;a^2 b^2 c^2 d^2;a^4 b^4 c^4 d^4]; d1=det(A)

d2=simple(d1) %化简表达式d1

pretty(d2) %让表达式d2符合人们的书写习惯 则显示结果如下: d1 =

b*c^2*d^4-b*d^2*c^4-b^2*c*d^4+b^2*d*c^4+b^4*c*d^2-b^4*d*c^2-a*c^2*d^4+a*d^2*c^4+a*b^2*d^4-a*b^2*c^4-a*b^4*d^2+a*b^4*c^2+a^2*c*d^4-a^2*d*c^4-a^2*b*d^4+a^2*b*c^4+a^2*b^4*d-a^2*b^4*c-a^4*c*d^2+a^4*d*c^2+a^4*b*d^2-a^4*b*c^2-a^4*b^2*d+a^4*b^2*c d2 =

(-d+c)*(b-d)*(b-c)*(-d+a)*(a-c)*(a-b)*(a+c+d+b) (-d+c)(b-d)(b-c)(-d+a)(a-c)(a-b)(a+c+d+b)

1.2.16 矩阵元素个数的确定

函数 numel

格式 n = numel(a) %计算矩阵A中元素的个数 例1-65

>> A=[1 2 3 4;5 6 7 8]; >> n=numel(A)

n = 8

1.3 矩阵分解

1.3.1 Cholesky分解

函数 chol

格式 R = chol(X) %如果X为n阶对称正定矩阵,则存在一个实的非奇异上三角

阵R,满足R'*R = X;若X非正定,则产生错误信息。

[R,p] = chol(X) %不产生任何错误信息,若X为正定阵,则p=0,R与上相同;

若X非正定,则p为正整数,R是有序的上三角阵。

例1-66

>> X=pascal(4) %产生4阶pascal矩阵

X =

1 1 1 1 1 2 3 4 1 3 6 10 1 4 10 20 >> [R,p]=chol(X)

R =

29 MATLAB6.0数学手册 1 1 1 1 0 1 2 3 0 0 1 3 0 0 0 1 p = 0

1.3.2 LU分解

矩阵的三角分解又称LU分解,它的目的是将一个矩阵分解成一个下三角矩阵L和一个上三角矩阵U的乘积,即A=LU。

函数 lu

格式 [L,U] = lu(X) %U为上三角阵,L为下三角阵或其变换形式,满足LU=X。

[L,U,P] = lu(X) %U为上三角阵,L为下三角阵,P为单位矩阵的行变换矩阵,

满足LU=PX。

例1-67

>> A=[1 2 3;4 5 6;7 8 9]; >> [L,U]=lu(A)

L =

0.1429 1.0000 0 0.5714 0.5000 1.0000 1.0000 0 0 U =

7.0000 8.0000 9.0000 0 0.8571 1.7143 0 0 0.0000 >> [L,U,P]=lu(A)

L =

1.0000 0 0 0.1429 1.0000 0 0.5714 0.5000 1.0000 U =

7.0000 8.0000 9.0000 0 0.8571 1.7143 0 0 0.0000 P =

0 0 1 1 0 0 0 1 0

1.3.3 QR分解

将矩阵A分解成一个正交矩阵与一个上三角矩阵的乘积。

函数 qr

格式 [Q,R] = qr(A) %求得正交矩阵Q和上三角阵R,Q和R满足A=QR。

[Q,R,E] = qr(A) %求得正交矩阵Q和上三角阵R,E为单位矩阵的变换形式,

R的对角线元素按大小降序排列,满足AE=QR。 [Q,R] = qr(A,0) %产生矩阵A的“经济大小”分解

[Q,R,E] = qr(A,0) %E的作用是使得R的对角线元素降序,且Q*R=A(:, E)。 R = qr(A) %稀疏矩阵A的分解,只产生一个上三角阵R,满足R'*R =

30


矩阵及其基本运算(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:公司股权转让后原债务由原股东负责案例

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

马上注册会员

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