MATLAB特殊矩阵

1.特殊矩阵


1.1什么是特殊矩阵

特殊矩阵是假若值相同的元素或者零元素在矩阵中的分布有一定规律,则我们称此类矩阵为特殊矩阵。


2.两类特殊矩阵

2.1通用性的特殊矩阵

        分别有零矩阵幺矩阵单位矩阵随机矩阵标准正太分布随机矩阵,相应的MATLAB有创建上述矩阵的函数,如下表所示:

函数名作用
zeros产生全0矩阵,即零矩阵
ones产生全1矩阵,即幺矩阵
eye产生对角线为1的矩阵,当矩阵为方阵时,得到一个单位矩阵
rand产生(0,1)区间均匀分布的随机矩阵
randn产生均值为0,方差为1的标准正态分布随机矩阵

  调用演示如下:

(1)zeros函数

<1>zeors(m):产生m x m零矩阵


<2>zeors(m,n)产生mxn零矩阵


<3>zeors(size(A)):产生与矩阵A同等大小的零矩阵

 


(2)ones函数

<1>x =ones 返回标量1


<2>ones(n):产生n x n的全1矩阵


<3>ones(m,n):产生mxn的全1矩阵


 <4>ones(size(A)):产生和矩阵A同等大小的全1矩阵


(3)eye函数

<1>x =eye :返回标量1


<2>eye(n):产生一个主对角线元素为 1 且其他位置元素为 0 的n x n单位矩阵


<3>eye(m,n):产生一个主对角线元素为 1 且其他位置元素为 0 的m x n单位矩阵


<4>eye(size(A)):产生一个主对角线元素为 1 且其他位置元素为 0 和矩阵A一样大小的单位矩阵


(4)rand函数

<1>x =rand:返回从区间 (0,1) 的均匀分布中得到的随机标量


<2>rand(n):产生一个由均匀分布的随机数组成的 n×n 矩阵


<3>rand(m,n): 产生一个由均匀分布的随机数组成的 m×n 矩阵


<4>rand(size(A)) : 产生一个由均匀分布的随机数组成的和矩阵A同样大小的矩阵


(5)randn函数

<1> x =randn:返回一个从标准正态分布中得到的随机标量


<2>randn(n): 产生一个由正太分布的随机数组成的 n×n 矩阵


<3>randn(m,n):产生一个由正太分布的随机数组成的 m×n 矩阵


<4>randn(size(A)):产生一个由正太分布的随机数组成的和矩阵A一样大小的矩阵


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

        分别有幻方矩阵范德蒙矩阵希尔伯特矩阵伴随矩阵帕斯卡矩阵,MATLAB相应创建上述矩阵的函数如下表:

函数名作用
magic生成幻方矩阵
vander生成范德蒙矩阵
hilb生成希尔伯特矩阵
compan生成伴随矩阵
pascal生成帕斯卡矩阵

2.2.1魔方矩阵

定义:

        魔方矩阵又称幻方,是有相同的行数和列数,并在每行每列、对角线上的和都相等的矩阵。魔方矩阵中的每个元素不能相同。你能构造任何大小(除了2x2)的魔方矩阵。

特点:

  1. n阶魔方阵由1,2,3,......,n^2,共n^2个整数组成,且每行、每列以及主、副对角线上各n个元素之和都相等
  2. n阶魔方阵每行每列元素的和为(1+2+3+.......+n^2)/n = (n+n^3)/2
  3. n>2时有很多不同的魔方阵,MATLAB函数magic(n)产生一个特定的魔方矩阵。

语法: 

M = magic( n ):返回由 1 到 n2 的整数构成并且总行数和总列数相等的 n×n 矩阵。n 的阶数必须是大于或等于 3 的标量才能创建有效的幻方矩阵。

演示:


2.2.2范德蒙矩阵

定义:

语法:

A = vander(v):返回 Vandermonde 矩阵 以使其列是向量 v 的幂。

演示:


2.2.3希伯特矩阵

定义:

希尔伯特矩阵(Hilbert matrix)是一种数学变换矩阵,正定,且高度病态(即,任何一个元素发生一点变动,整个矩阵的值和逆矩阵都会发生巨大变化),病态程度和阶数相关。

语法:

H = hilb(n): 返回阶数为 n 的 Hilbert 矩阵,Hilbert 矩阵的元素由 H(i,j) = 1/(i + j – 1) 指定。

演示:


2.2.4伴随矩阵

定义:


语法:

A = compan(u) 返回第一行为 -u(2:n)/u(1) 的对应伴随矩阵,其中 u 是多项式系数向量。compan(u) 的特征值是多项式的根。

演示:



2.2.5帕斯卡矩阵

定义:

特点:

语法:

演示:

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值