以下函数返回著名的矩阵形式。
a =
gallery ("chow", n)
¶a =
gallery ("chow", n, alpha)
¶a =
gallery ("chow", n, alpha, delta)
¶c =
gallery ("circul", v)
¶创建循环矩阵。
a =
gallery ("condex", n)
¶a =
gallery ("condex", n, k)
¶a =
gallery ("condex", n, k, theta)
¶为条件估计器创建一个“反例”矩阵。
[c, d, e] =
gallery ("dorr", n)
¶[c, d, e] =
gallery ("dorr", n, theta)
¶a =
gallery ("dorr", …)
¶创建一个对角优势、病态、三对角矩阵。
a =
gallery ("fiedler", c)
¶创建一个对称的Fiedler矩阵。
a =
gallery ("forsythe", n)
¶a =
gallery ("forsythe", n, alpha)
¶a =
gallery ("forsythe", n, alpha, lambda)
¶创建一个Forsyth矩阵(一个受干扰的Jordan方块)。
c =
gallery ("gcdmat", n)
¶创建最大公约数矩阵。
c是一个nxn其值对应于其坐标值的最大公约数的矩阵。,c(i,j)对应gcd(i,j)
.
a =
gallery ("gearmat", n)
¶a =
gallery ("gearmat", n, i)
¶a =
gallery ("gearmat", n, i, j)
¶创建齿轮矩阵。
a =
gallery ("integerdata", imax, [M N …], j)
¶a =
gallery ("integerdata", imax, M, N, …, j)
¶a =
gallery ("integerdata", [imin, imax], [M N …], j)
¶a =
gallery ("integerdata", [imin, imax], M, N, …, j)
¶a =
gallery ("integerdata", …, "class")
¶创建一个具有范围为[1,imax].如果imin则整数在范围内[imin, imax].
第二个输入是描述输出大小的维度矩阵。维度也可以作为逗号分隔的参数输入。
输入j是一个范围为[0,2^32-1]的整数索引。对于任意大小的相同输入和相同j索引,输出矩阵的值总是完全相同(可复现)
最后一个可选参数确定结果矩阵的类型。类型的可能值: uint8
, uint16
,uint32
, int8
, int16
,int32”,single
,double
。默认为double
.
a =
gallery ("invol", n)
¶创建一个对合矩阵。
u =
gallery ("kahan", n)
¶u =
gallery ("kahan", n, theta)
¶u =
gallery ("kahan", n, theta, pert)
¶创建一个Kahan矩阵(上梯形)。
b =
gallery ("krylov", a)
¶b =
gallery ("krylov", a, x)
¶b =
gallery ("krylov", a, x, j)
¶创建一个Krylov矩阵。
a =
gallery ("lehmer", n)
¶创建一个Lehmer矩阵(对称正定)。
t =
gallery ("lesp", n)
¶创建一个具有真实、敏感特征值的三对角矩阵。
a =
gallery ("lotkin", n)
¶创建一个Lotkin矩阵。
a =
gallery ("minij", n)
¶创建一个对称的正定矩阵MIN(i,j)。
[a, t] =
gallery ("neumann", n)
¶从离散Neumann问题(稀疏)创建奇异矩阵。
a =
gallery ("normaldata", [M N …], j)
¶a =
gallery ("normaldata", M, N, …, j)
¶a =
gallery ("normaldata", …, "class")
¶使用标准正态分布中的随机样本创建矩阵(平均值=0,标准值=1)。
第一个输入是描述输出大小的维度矩阵。维度也可以作为逗号分隔的参数输入。
输入j是一个范围为[0,2^32-1]的整数索引。对于任意大小的相同输入和相同j索引,输出矩阵的值总是完全相同(可复现)
最后一个可选参数确定结果矩阵的类型。类型的可能值: single
, double
。默认为double
.
a =
gallery ("parter", n)
¶创建一个Parter矩阵(一个具有奇异值的Toeplitz矩阵,即π)。
a =
gallery ("poisson", n)
¶根据泊松方程(稀疏)创建块三对角矩阵。
h =
gallery ("randhess", x)
¶创建一个随机的、正交的上Hessenberg矩阵。
a =
gallery ("randsvd", n)
¶a =
gallery ("randsvd", n, kappa)
¶a =
gallery ("randsvd", n, kappa, mode)
¶a =
gallery ("randsvd", n, kappa, mode, kl)
¶a =
gallery ("randsvd", n, kappa, mode, kl, ku)
¶创建一个具有预先赋值的奇异值的随机矩阵。
a =
gallery ("redheff", n)
¶创建一个与黎曼假说相关的雷德海弗零和一矩阵。
a =
gallery ("riemann", n)
¶创建一个与黎曼假说相关的矩阵。
a =
gallery ("ris", n)
¶创建一个对称的Hankel矩阵。
t =
gallery ("toeppd", n)
¶t =
gallery ("toeppd", n, m)
¶t =
gallery ("toeppd", n, m, w)
¶t =
gallery ("toeppd", n, m, w, theta)
¶创建一个对称的正定Toeplitz矩阵。
p =
gallery ("toeppen", n)
¶p =
gallery ("toeppen", n, a)
¶p =
gallery ("toeppen", n, a, b)
¶p =
gallery ("toeppen", n, a, b, c)
¶p =
gallery ("toeppen", n, a, b, c, d)
¶p =
gallery ("toeppen", n, a, b, c, d, e)
¶创建五对角Toeplitz矩阵(稀疏)。
a =
gallery ("tridiag", x, y, z)
¶a =
gallery ("tridiag", n)
¶a =
gallery ("tridiag", n, c, d, e)
¶创建一个三对角矩阵(稀疏)。
t =
gallery ("triw", n)
¶t =
gallery ("triw", n, alpha)
¶t =
gallery ("triw", n, alpha, k)
¶创建一个从Kahan、Golub和Wilkinson讨论的上三角矩阵。
a =
gallery ("uniformdata", [M N …], j)
¶a =
gallery ("uniformdata", M, N, …, j)
¶a =
gallery ("uniformdata", …, "class")
¶使用标准均匀分布(范围[0,1])中的随机样本创建矩阵。
第一个输入是描述输出大小的维度矩阵。维度也可以作为逗号分隔的参数输入。
输入j是一个范围为[0,2^32-1]的整数索引。对于任意大小的相同输入和相同j索引,输出矩阵的值总是完全相同(可复现)
最后一个可选参数确定结果矩阵的类型。类型的可能值: single
, double
。默认为double
.
[a, b] =
gallery ("wilk", n)
¶创建Wilkinson设计/讨论的各种特定矩阵。
h =
hadamard (n)
¶构造大小为的Hadamard矩阵(Hn)nxn.
尺寸n必须为形式2^k*p其中p是1、12、20或28中的一个。返回的矩阵被归一化,这意味着Hn(:,1)==1
和Hn(1,:)==1
.
Hadamard矩阵的一些性质是:
kron(Hm,Hn)
是Hadamard矩阵的大小mxn.
Hn*Hn'=neyen)
.
det(A)<=abs(det(Hn))
为所有的A具有abs(A(i,j)<=1
.
h =
hankel (c)
¶h =
hankel (c, r)
¶返回从第一列构造的Hankel矩阵c,和(可选)最后一行r.
如果的最后一个元素c与的第一个元素不同r,的最后一个元素c使用。如果第二个自变量被允许,则假设它是一个大小与相同的零向量c.
从m向量形成的Hankel矩阵c,和一个n向量r,具有元素
H(i,j)=c(i+j-1),i+j-1<=m;H(i,j)=r(i+j-m),否则
h =
hilb (n)
¶返回n阶希尔伯特矩阵.
这个i、 j希尔伯特矩阵的元素定义为
H(i, j) = 1 / (i + j - 1)
希尔伯特矩阵接近奇异,这使得它们很难用数值程序进行转换。将随机矩阵5x5的条件数与5阶希尔伯特矩阵的条件数进行比较,可以看出这个问题有多困难。
cond (rand (5)) ⇒ 14.392 cond (hilb (5)) ⇒ 4.7661e+05
详见: invhilb.
hinv =
invhilb (n)
¶返回n阶希尔伯特矩阵的逆.
这可以使用以下方法进行运算
(i+j) /n+i-1\ /n+j-1\ /i+j-2\ 2 A(i,j) = -1 (i+j-1)( )( ) ( ) \ n-j / \ n-i / \ i-2 / = p(i) p(j) / (i+j-1)
其中,
k /k+n-1\ /n\ p(k) = -1 ( ) ( ) \ k-1 / \k/
这个公式的有效性可以很容易地通过将两个公式中的二元有效性扩展为阶乘来检查。它可以通过柯西矩阵理论更直接地导出。详见J.W.Demmel,Applied Numerical Linear Algebra,第92页。
将其与的数值计算进行比较inv(hilb(n))
,它受到希尔伯特矩阵的不良条件和计算机浮点运算的有限精度的影响。
详见: hilb.
M =
magic (n)
¶创建nxn魔方矩阵。
魔方矩阵是整数的排列1:n^2
使得w和、列和和对角线和都等于相同的值。
注意n必须是大于或等于3的标量。如果您提供n小于3,magic要么返回一个非魔方矩阵,要么返回矩阵1或[]。
P =
pascal (n)
¶P =
pascal (n, t)
¶返回顺序的Pascal矩阵n如果t= 0
.
t的默认值为0。
如果t = 1
,返回Pascal矩阵的伪下三角Cholesky因子(某些列的符号可能是负的)。这个矩阵是它自己的逆矩阵,也就是
pascal (n, 1) ^ 2 == eye (n)
.
如果t = -1
,返回对角线上具有严格正值的真实Cholesky因子。
如果t = 2
,返回的转置和排列版本
pascal (n, 1)
,它是单位矩阵的立方根。也就是,pascal (n, 2) ^ 3 == eye (n)
.
详见: chol.
T =
toeplitz (c)
¶T =
toeplitz (c, r)
¶返回从第一列构造的Toeplitz矩阵c,以及可选的第一行r.
如果省略第二个参数,则第一行与第一列相同。如果的第一个元素r与的第一个元素不同c,的第一个元素c使用。
Toeplitz,或对角线常数,矩阵沿每条对角线具有相同的值。虽然它不一定是正方形,但通常是正方形。MxNToeplitz矩阵的形式如下:
c(1) r(2) r(3) ... r(n) c(2) c(1) r(2) ... r(n-1) c(3) c(2) c(1) ... r(n-2) . . . . . . . . . . . . . . . c(m) c(m-1) c(m-2) ... c(m-n+1)
详见: hankel.
V =
vander (c)
¶V =
vander (c, n)
¶返回范德蒙矩阵,其倒数第二列为c.
如果n是指定的,它确定列的数量;否则n等于的长度c.
范德蒙矩阵的形式如下:
c(1)^(n-1) ... c(1)^2 c(1) 1 c(2)^(n-1) ... c(2)^2 c(2) 1 . . . . . . . . . . . . . . . c(n)^(n-1) ... c(n)^2 c(n) 1
详见: polyfit.
版权所有 © 2024-2025 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-1