慕课matlab学习 第二章-07
特殊矩阵 和通用矩阵
% 第二节 矩阵变换
% 特殊矩阵 和通用矩阵
% 通用特殊矩阵
% zeros函数:产生全0矩阵,零矩阵
% ones函数:产生全1矩阵,幺矩阵
% eys函数 :产生对角线为1的矩阵。当矩阵是方阵时,得到一个单位矩阵
% rand函数:产生(0,1)区间均匀分布的随机矩阵
% randn函数: 产生均值为0,方差为1的标准正态分布随机矩阵
%调用方式
% zeros函数的调用格式: 3种方式
% zeros(m): 产生m x m零矩阵。
% zeros(m,n): 产生m x n零矩阵。
% zeros(size(A)): 产生与矩阵A同样大小的零矩阵。
%eg
zeros(3) %产生3 x 3 零矩阵
zeros(3,2) %产生3 x 2 零矩阵。
D=[1,2,3;2,4,6]
zeros(size(D)) %产生与矩阵A同样大小的零矩阵。
zeros(size(reshape(D,3,2))) %调用reshape函数将 A矩阵2*3的形状重新定义为3*2的矩阵,随后产生3 x 2 零矩阵。
% 产生5阶两位随机整数矩阵A,再产生均值为0.6、方差为0.1的5阶正态随机分布矩阵B
% ,最后验证(A+B)I=|A+B|
% rand函数: 产生(0,1)开区间均匀分布的随机数x。
% fix(a+(b-a+1)*x):产生[a,b]区间.上均匀分布的随机【整数】,注: x是一个矩阵。
% randn函数:产生【均值为0、方差为1】的标准正态分布随机数x。
% μ+σX: 得到均值为μ、方差为σ^2的随机数。
A=fix(10+(99-10+1)*rand(5)) %产生一个10-99之间的随机整数的5阶矩阵
B=0.6+sqrt(0.1)*randn(5) %产生一个随机均值为0.6,方差为0.1的矩阵
C=eye(5) % D产生一个5阶的对角阵
(A+B)*C==C*A+B*C %判断两个是否相等 即验证 验证(A+B)I=|A+B|
%魔方矩阵 ,类似于九宫格类型的矩阵
% 特点: n阶魔方阵由1,2,3,..,.n2共n2个整数组成,且每行、每列以及
% 主、副对角线上各n个元素之和都相等。
% matlab中,产生的魔方阵是固定的
M=magic(3)
N=magic(4)
% 产生8阶魔方阵,求其每行,每列元素的和
M=magic(8)
M(1,:)
sum(M(1,:)) %第一行的元素求和
sum(M(:,1)) %第一例的元素求和
% 范德蒙矩阵
% 对于向量V=[v,V2,...,v],范得蒙矩阵的一般形式为
% 在MATLAB中,函数vander(V)生成以向量V为基础的范得
% 蒙(Vandermonde )矩阵。
A=vander(1:5)
% 范德蒙矩阵常用在各种通信系统的纠错编码中
% 例如,常用的Reed- Solomon编码即以范德蒙矩阵为基础。
%希尔伯特矩阵
% 函数 hilb(4)
format rat %以分数的形式表示
H=hilb(4)
% 伴随矩阵 需要了解一下
% compan(p)
% 例如,生成多项式x^3-2x^2- 5x+6的伴随矩阵。
z=[1,-2,-5,6]
Z=compan(z)
% 帕斯卡矩阵
% 根据二项式定理,(x+y)^n 展开后的系数随着n的增大组成一个三 角
% 形表,这个三角形称为杨辉三角形。
% 函数 pascal(n)
% 生成5阶帕斯卡矩阵
P=pascal(5)
%帕斯卡矩阵特点,矩阵本身是整数,他的逆矩阵也是整数
inv(P)