matlab产生随机矩阵并打印(MATLAB基础学习之矩阵的创建)

首页常识更新时间:2023-05-25 19:40:13
通用特殊矩阵和专门学科特殊矩阵的创建

通用的特殊矩阵:

zeros函数:产生全0矩阵,即零矩阵。

ones函数:产生全1矩阵,即幺矩阵。

eye函数:产生对角线为1的矩阵。当矩阵是方阵时,得到一个单位矩阵。

rand函数:产生(0,1)区间均匀分布的随机矩阵。

randn函数:产生均值为0,方差为1的标准正态分布随机矩阵。

Zeros函数的调用格式:

(1) zeros(m):产生m×m零矩阵;

(2) zeros(m,n):产生m×n零矩阵;

(3) zeros(size(A)):产生与矩阵A同样大小的零矩阵;

例一:首先产生5阶两位随机整数矩阵A,再产生均值为0.6,方差为0.1的5阶正态分布随机矩阵B,最后验证(A B)I=IA IB(I为单位矩阵)。

提示:(1)rand函数:产生(0,1)开区间均匀分布的随机数x。

(2)fix(a (b-a 1)*x):产生[a,b]区间上均匀分布的随机整数。

(3)randn函数:产生均值为0、方差为1的标准正态分布随机数x。

(4)μ σx:得到均值为μ、方差为σ2的随机数。

解答:

A=fix(10 (99-10 1)*rand(5))

A =

96 92 86 45 34

53 81 94 68 14

82 96 71 25 18

22 69 78 73 84

47 13 76 12 72

>> B=0.6 sqrt(0.1)*randn(5)

B =

0.3613 0.7009 0.7985 0.2161 0.7174

1.0333 0.6989 0.9457 0.2479 0.5287

0.0588 0.3265 0.9508 0.5978 0.9533

0.5677 0.5905 0.3269 1.0847 0.2556

0.5236 0.5479 0.6245 0.3566 0.6103

>> C=eye(5)

C =

1 0 0 0 0

0 1 0 0 0

0 0 1 0 0

0 0 0 1 0

0 0 0 0 1

>> (A B)*C==C*A B*C

ans =

5×5 logical 数组

1 1 1 1 1

1 1 1 1 1

1 1 1 1 1

1 1 1 1 1

1 1 1 1 1

用于专门学科的特殊矩阵:

(1) 魔方矩阵—magic square

M=magic(3)

M=

N阶魔方阵由1,2,3……n2共n2个整数组成,且每行、每列以及主、副对角线上各n元素之和都相等。

N阶魔方阵每行每列元素的和为(1 2 3 …… n2)/n=(n n3)/2。

MATLAB函数magic(n)产生一个特定的魔方阵。

例2:产生8阶魔方阵,求其每行每列元素的和。

解:M=magic(8);

>> sum(M(1,:))

ans =

260

>> sum(M(:,1))

ans =

260

(2) 范德蒙矩阵

A=vander(1:5)

A =

1 1 1 1 1

16 8 4 2 1

81 27 9 3 1

256 64 16 4 1

625 125 25 5 1

(3) 希尔伯特矩阵

N阶希尔伯特(Hilbert)矩阵的一般形式:

1 1/2 …… 1/n

1/2 1/3 …… 1/(n 1)

…………………………

1/n 1/(n 1)……1/(2n-1)

希尔伯特矩阵的元素为H(i,j)=1/(i j-1)。

例如:

format rat

>> H=hilb(4)

H =

1 1/2 1/3 1/4

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

1/3 1/4 1/5 1/6

1/4 1/5 1/6 1/7

注:其中命令第一条是将格式转化为有理分数的形式。

(4) 伴随矩阵

MATLAB生成伴随矩阵的函数是compan(p),其中p是一个多项式的系数向量,高次幂系数排在前,低次幂系数排在后。例如,生成多项式x3-2x2-5x 6的伴随矩阵。

p=[1 -2 -5 6]

>> A=compan(p)

A =

2 5 -6

1 0 0

0 1 0

伴随矩阵的特征值是多项式等于多项式方程的根。

(5) 帕斯卡矩阵:

把二项式系数依次填写在矩阵的左侧对角线上,然后提取左侧的n行n列元素即为n阶帕斯卡(pascal)矩阵。

帕斯卡矩阵的第一行元素和第一列元素都为1,其余位置是该元素的左边元素与上面元素相加。

A=pascal(5)

A =

1 1 1 1 1

1 2 3 4 5

1 3 6 10 15

1 4 10 20 35

1 5 15 35 70

例3:生成5阶帕斯卡矩阵,验证它的逆矩阵的所有元素也为整数。

>> format rat

>> pascal(5)

ans =

1 1 1 1 1

1 2 3 4 5

1 3 6 10 15

1 4 10 20 35

1 5 15 35 70

>> inv(p)

ans =

5 -10 10 -5 1

-10 30 -35 19 -4

10 -35 46 -27 6

-5 19 -27 17 -4

1 -4 6 -4 1

,
展开阅读全文
推荐内容
热门内容
热门文章

© 2007-2022 http://www.anhuiqq.cn,All Rights Reserved.