矩阵及其基本运算(2)

2019-04-16 14:47

MATLAB6.0数学手册 0.6127 0.4806 0.6375 0.7971 0.8141 0.5064 0.6996 0.8527

命令 产生随机排列

函数 randperm

格式 p = randperm(n) %产生1~n之间整数的随机排列 例1-12

>> randperm(6) ans =

3 2 1 5 4 6

命令 产生线性等分向量

函数 linspace

格式 y = linspace(a,b) %在(a, b)上产生100个线性等分点

y = linspace(a,b,n) %在(a, b)上产生n个线性等分点 命令 产生对数等分向量

函数 logspace

格式 y = logspace(a,b) %在( a b)之间产生50个对数等分向量 10, 10y = logspace(a,b,n)

y = logspace(a,pi)

命令 计算矩阵中元素个数

n = numel(a) %返回矩阵A的元素的个数

命令 产生以输入元素为对角线元素的矩阵

函数 blkdiag

格式 out = blkdiag(a,b,c,d,?) %产生以a,b,c,d,…为对角线元素的矩阵 例1-13

>> out = blkdiag(1,2,3,4) out =

1 0 0 0 0 2 0 0 0 0 3 0 0 0 0 4

命令 友矩阵

函数 compan

格式 A = compan(u) %u为多项式系统向量,A为友矩阵,A的第1行元素为

-u (2:n)/u(1),其中u (2:n)为u的第2到第n个元素,A为特征值就是多项式的特征根。

37 x ?例1-14 求多项式 ( x ? 1 )( x ? 2 )( x ? 3 ) ? x ? 6 的友矩阵和根

>> u=[1 0 -7 6];

>> A=compan(u) %求多项式的友矩阵

A =

0 7 -6 1 0 0 0 1 0

>> eig(A) %A的特征值就是多项式的根

ans =

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

-3.0000 2.0000 1.0000

命令 hadamard矩阵

函数 hadamard

格式 H = hadamard(n) %返回n阶hadamard矩阵 例1-15

>> h=hadamard(4)

h =

1 1 1 1 1 -1 1 -1 1 1 -1 -1 1 -1 -1 1

命令 Hankel方阵

函数 hankel

格式 H = hankel(c) %第1列元素为c,反三角以下元素为0。

H = hankel(c,r) %第1列元素为c,最后一行元素为r,如果c的最后一个元素

与r的第一个元素不同,交叉位置元素取为c的最后一个元素。

例1-16

>> c=1:3,r=7:10

c =

1 2 3 r =

7 8 9 10 >> h=hankel(c,r)

h =

1 2 3 8 2 3 8 9 3 8 9 10

命令 Hilbert矩阵

函数 hilb

格式 H = hilb(n) %返回n阶Hilbert矩阵,其元素为H(i,j)=1/(i+j-1)。 例1-17 产生一个3阶Hilbert矩阵

>> format rat %以有理形式输出 >> H=hilb(3)

H =

1 1/2 1/3 1/2 1/3 1/4 1/3 1/4 1/5

命令 逆Hilbert矩阵

函数 invhilb

格式 H = invhilb(n) %产生n阶逆Hilbert矩阵 命令 Magic(魔方)矩阵

函数 magic

格式 M = magic(n) %产生n 阶魔方矩阵 例1-18

7 MATLAB6.0数学手册 >> M=magic(3)

M =

8 1 6 3 5 7 4 9 2

命令 Pascal矩阵

函数 pascal

格式 A = pascal(n) %产生n阶Pascal矩阵,它是对称、正定矩阵,它的元素由

Pascal三角组成,它的逆矩阵的所有元素都是整数。

A = pascal(n,1) %返回由下三角的Cholesky系数组成的Pascal矩阵 A = pascal(n,2) %返回Pascal(n,1)的转置和交换的形式

例1-19

>> A=pascal(4)

A =

1 1 1 1 1 2 3 4 1 3 6 10 1 4 10 20 >> A=pascal(3,1)

A =

1 0 0 1 -1 0 1 -2 1 >> A=pascal(3,2)

A =

1 1 1 -2 -1 0 1 0 0

命令 托普利兹矩阵

函数 toeplitz

格式 T = toeplitz(c,r) %生成一个非对称的托普利兹矩阵,将c作为第1列,将r作

为第1 行,其余元素与左上角相邻元素相等。 T = toeplitz(r) %用向量r生成一个对称的托普利兹矩阵

例1-20

>> c=[1 2 3 4 5];

>> r=[1.5 2.5 3.5 4.5 5.5]; >> T=toeplitz(c,r)

T =

1 5/2 7/2 9/2 11/2 2 1 5/2 7/2 9/2 3 2 1 5/2 7/2 4 3 2 1 5/2 5 4 3 2 1

命令 Wilkinson特征值测试阵

函数 wilkinson

格式 W = wilkinson(n) %返回n阶Wilkinson特征值测试阵 例1-21

>> W=wilkinson(4)

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

W =

3/2 1 0 0 1 1/2 1 0 0 1 1/2 1 0 0 1 3/2 >> W=wilkinson(7)

W =

3 1 0 0 0 0 0 1 2 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 2 1 0 0 0 0 0 1 3

1.2 矩阵运算

1.2.1 加、减运算

运算符:“+”和“-”分别为加、减运算符。

运算规则:对应元素相加、减,即按线性代数中矩阵的“十”,“一”运算进行。 例1-22

>>A=[1, 1, 1; 1, 2, 3; 1, 3, 6]

>>B=[8, 1, 6; 3, 5, 7; 4, 9, 2] >>A+B=A+B >>A-B=A-B

结果显示:A+B=

9 2 7 4 7 10 5 12 8

A-B=

-7 0 -5 -2 -3 -4 -3 -6 4

1.2.2 乘法

运算符:*

运算规则:按线性代数中矩阵乘法运算进行,即放在前面的矩阵的各行元素,分别与放在后面的矩阵的各列元素对应相乘并相加。

1.两个矩阵相乘 例1-23

>>X= [2 3 4 5; 1 2 2 1]; >>Y=[0 1 1; 1 1 0; 0 0 1; 1 0 0]; Z=X*Y

9 MATLAB6.0数学手册 结果显示为: Z=

8 5 6 3 3 3

2.矩阵的数乘:数乘矩阵

上例中:a=2*X 则显示:a =

4 6 8 10 2 4 4 2

向量的点乘(内积):维数相同的两个向量的点乘。 数组乘法:

A.*B表示A与B对应元素相乘。 3.向量点积

函数 dot

格式 C = dot(A,B) %若A、B为向量,则返回向量A与B的点积,A与B长度

相同;若为矩阵,则A与B有相同的维数。

C = dot(A,B,dim) %在dim维数中给出A与B的点积 例 >>X=[-1 0 2];

>>Y=[-2 -1 1]; >>Z=dot(X, Y) 则显示:Z =

4

还可用另一种算法:

sum(X.*Y) ans= 4

4.向量叉乘

在数学上,两向量的叉乘是一个过两相交向量的交点且垂直于两向量所在平面的向量。在Matlab中,用函数cross实现。

函数 cross

格式 C = cross(A,B) %若A、B为向量,则返回A与B的叉乘,即C=A3B,A、B

必须是3个元素的向量;若A、B为矩阵,则返回一个33n矩阵,其中的列是A与B对应列的叉积,A、B都是33n矩阵。

C = cross(A,B,dim) %在dim维数中给出向量A与B的叉积。A和B必须具有

相同的维数,size(A,dim)和size(B,dim)必须是3。

例1-24 计算垂直于向量(1, 2, 3)和(4, 5, 6)的向量。

>>a=[1 2 3]; >>b=[4 5 6]; >>c=cross(a,b) 结果显示: c=

-3 6 -3

可得垂直于向量(1, 2, 3)和(4, 5, 6)的向量为±(-3, 6, -3) 5.混合积

10


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

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

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

马上注册会员

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