【MATLAB】几种特殊矩阵,Hilbert矩阵,Toeplitz矩阵,Vandermonde矩阵......
1、Hadamard矩阵
Hadamard矩阵是由+1和-1元素构成的且满足Hn*Hn’=nI(这里Hn’为Hn的转置,I为单位方阵)n阶方阵。
>> hadamard(4)ans =1 1 1 11 -1 1 -11 1 -1 -11 -1 -1 1
2、Hankel矩阵:是指每一条副对角线上的元素都相等的方阵。
>> x=[1 2 3 4 5 6 7]x =1 2 3 4 5 6 7>> hankel(x)ans =1 2 3 4 5 6 72 3 4 5 6 7 03 4 5 6 7 0 04 5 6 7 0 0 05 6 7 0 0 0 06 7 0 0 0 0 07 0 0 0 0 0 0
hankel(x,y):
返回一个m x n的Hankel矩阵,它的第一列向量为x,最后一行为向量y
>> x=[1 2 3 4 5 6 7]x =1 2 3 4 5 6 7>> y=[7 6 5 4 3 2 2]y =7 6 5 4 3 2 2>> hankel(x,y)ans =1 2 3 4 5 6 72 3 4 5 6 7 63 4 5 6 7 6 54 5 6 7 6 5 45 6 7 6 5 4 36 7 6 5 4 3 27 6 5 4 3 2 2
3、Pascal矩阵:
Pascal矩阵的第一行元素和第一列元素都为1,其余位置处的元素是该元素的左边元素加起上一行对应位置相加而得,如元素Ai,j=Ai,j-1+Ai-1,j。Ai,j表示第i行,第j列位置上的元素
>> pascal(4)ans =1 1 1 11 2 3 41 3 6 101 4 10 20>> pascal(5)ans =1 1 1 1 11 2 3 4 51 3 6 10 151 4 10 20 351 5 15 35 70
4、Rosser矩阵
>> rosserans =611 196 -192 407 -8 -52 -49 29196 899 113 -192 -71 -43 -8 -44-192 113 899 196 61 49 8 52407 -192 196 611 8 44 59 -23-8 -71 61 8 411 -599 208 208-52 -43 49 44 -599 411 208 208-49 -8 8 59 208 208 99 -91129 -44 52 -23 208 208 -911 99
5、Wilkinson矩阵:Wilkinson特征值测试矩阵
>> wilkinson(3)ans =1 1 01 0 10 1 1>> wilkinson(5)ans =2 1 0 0 01 1 1 0 00 1 0 1 00 0 1 1 10 0 0 1 2
6、Hilbert矩阵
也成为H阵,其元素,由于它是一个条件数差的矩阵,所以将它用来作为试验矩阵。
hilb(n):用于生成n x n的Hilbert矩阵
invhilb(n):用于生成n x n的Hilbert矩阵的逆矩阵整数矩阵。
>> a=hilb(3)a =1.0000 0.5000 0.33330.5000 0.3333 0.25000.3333 0.2500 0.2000>> b=invhilb(3)b =9 -36 30-36 192 -18030 -180 180
可以看出Hilbert矩阵和他的逆矩阵都是对称矩阵。
7、Toeplitz矩阵
他由两个向量定义,一个行向量和一个列向量。对称的Toeplitz矩阵由单一向量来定义。
toeplizt(k,r):用于生成非对称Toeplitz矩阵,第一列为k,第一行为r,其余元素等于其左上角元素
toeplitz(c):向量c生成一个对称的Toeplitz矩阵
>> toeplitz(2:4,2:2:8)ans =2 4 6 83 2 4 64 3 2 4>> toeplitz(2:8)ans =2 3 4 5 6 7 83 2 3 4 5 6 74 3 2 3 4 5 65 4 3 2 3 4 56 5 4 3 2 3 47 6 5 4 3 2 38 7 6 5 4 3 2
8、0~1间均匀分布的随机矩阵
r=rand(n):产生nxn的0~1间均匀分布的随机矩阵
r=rand(m,n):产生mxn的0~1间均匀分布的随机矩阵,r=rand(m,n,p.....):与前者类似、
r=rand(size(A)):产生与A相同的0~1间均匀分布矩阵
>> r=rand(3)r =0.7094 0.6797 0.11900.7547 0.6551 0.49840.2760 0.1626 0.9597>> r=rand(3,4)r =0.3404 0.7513 0.6991 0.54720.5853 0.2551 0.8909 0.13860.2238 0.5060 0.9593 0.1493>> a=[1 2;3 4]a =1 23 4>> r=rand(size(a))r =0.2575 0.25430.8407 0.8143
9、标准正态分布随机矩阵
常用randn()函数产生均值为零、方差为1的随机矩阵
调用方式如下:
r=rand(n)
r=rand(m,n)
r=rand(size(A))
r=randn([m,n,......])
>> b=randn(3)b =-0.1924 -1.4023 -0.17740.8886 -1.4224 -0.1961-0.7648 0.4882 1.4193>> b=randn(3,4)b =0.2916 -0.8045 -0.2437 -1.14800.1978 0.6966 0.2157 0.10491.5877 0.8351 -1.1658 0.7223>> b=randn([3,4])b =2.5855 -0.0825 -1.7947 0.1001-0.6669 -1.9330 0.8404 -0.54450.1873 -0.4390 -0.8880 0.3035
10、Vandermonde矩阵
A=vander(V):生成Vandermonde矩阵,矩阵的列是向量v的幂,
>> vander([1 2 3 4])ans =1 1 1 18 4 2 127 9 3 164 16 4 1>> vander([1 ;2 ;3 ;4])ans =1 1 1 18 4 2 127 9 3 164 16 4 1
11、魔方矩阵:每行,每列,两对角线上的元素和相等
>> a=magic(5)a =17 24 1 8 1523 5 7 14 164 6 13 20 2210 12 19 21 311 18 25 2 9
【MATLAB】几种特殊矩阵,Hilbert矩阵,Toeplitz矩阵,Vandermonde矩阵......相关推荐
- Matlab快速创建矩阵的方法(创建特殊矩阵)
在matlab的使用过程中经常会需要用到矩阵,有时想要创建一些数据比较多的矩阵,对矩阵的内容要求可能并不高或者要创建一些特殊矩阵,下面将提供一些matlab内部提供的一些快速创建矩阵的方法. 1 创建 ...
- matlab和Eigen库中的一些旋转矩阵(方向余弦矩阵)、四元数和欧拉角之间的转换和绘图的注意事项
最近用matlab和Eigen库中的一些旋转矩阵(方向余弦矩阵).四元数和欧拉角之间的转换和绘图,弄得我有些头疼,把遇到的问题记录一下,以防以后又脑阔疼....有不同的理解可以再评论区批评指正- 主要 ...
- 第十章:MATLAB:矩阵分析(特征值与特征向量,矩阵对角化,若尔当标准型,矩阵的反射与旋转变换)
第十章:矩阵分析 10.1. 特征值与特征向量 10.1.1. 标准特征值与特征向量问题 实例--矩阵特征值与特征向量 实例:矩阵特征值 10.1.2. 广义特征值与特征向量问题 实例:广义特征值与广 ...
- matlab中服从高斯分布的矩阵_推荐基础算法之矩阵分解PMF
推荐基础算法之矩阵分解PMF 大多数存在的协同过滤算法不能处理以下两种情况: 1. 不能处理大规模数据 2.不能处理评分非常少的用户数据 概率矩阵分解模型可以解决大规模.稀疏且不平衡的数据.这篇文章主 ...
- MATLAB学习【第五部分】--第一节:矩阵的输入//冒号表达式矩阵---linspace函数生成向量---一般矩阵输入
矩阵的输入 一般矩阵的输入 []建立矩阵,在一行内各数值之间可用空格或者逗号隔开,行与行之间用分号隔开 一:A=[1,2,3;4 5 6;7,8,9];//一般采用逗号隔开 二:A=[1 2 3 ...
- Matlab 矩阵论 矩阵分解的计算实现(六)矩阵的正交三角分解
Matlab 矩阵论 矩阵分解的计算实现(六)矩阵的正交三角分解 本来matlab中自带了做正交三角分解的函数,[U,R]=qr(A),U R为分解结果.但是这样使用只会有结果没有中间过程,所以写了一 ...
- 在matlab中,利用for循环来生成一个矩阵,并分别对该矩阵的行和列进行求和
在matlab中,利用for循环来生成一个矩阵,并分别对该矩阵的行和列进行求和 先创建一个新的脚本,并保存,在编辑器中进行编辑.具体如图,以5阶方阵为例: a=zeros(5,5): for i=(1 ...
- matlab 矩阵 列 逆序,matlab对矩阵/向量的常用操作(拼接矩阵、向量逆序、改变矩阵形状、求行阶梯形矩阵、提取矩阵的一部分等)...
几乎所有变量在matlab中都可以视为矩阵(1 x 1元素,1 x n向量,m x n矩阵等),matlab中对矩阵/向量的操作非常多,个人认为对矩阵的操作是体现matlab功底的地方:灵活搭配使用这 ...
- matlab 调整矩阵形状,matlab对矩阵/向量的常用操作(拼接矩阵、向量逆序、改变矩阵形状、求行阶梯形矩阵、提取矩阵的一部分等)...
几乎所有变量在matlab中都可以视为矩阵(1 x 1元素,1 x n向量,m x n矩阵等),matlab中对矩阵/向量的操作非常多,个人认为对矩阵的操作是体现matlab功底的地方:灵活搭配使用这 ...
- 用matlab判断两个球是否相交,判断两个矩阵相交
判断两个矩阵相交 最近在回顾hihocoder上自己做过的题,看到清理海报这道题目,http://hihocoder.com/problemset/problem/1273?sid=707390当初比 ...
最新文章
- nodejs windows 安装过程
- RSA加密和DH加密
- Android ----制作自己的Vendor
- winserver下oracle好运维吗,在Windows 客户端下备份远程Linux服务器上的Oracle数据库...
- python数据结构和算法3 栈、队列和排序
- sql语句查询数据库返回结果转换显示自定义字段
- 洛谷P4445题解(Java语言描述)
- 配置hadoop集群
- 汇编里的IMPORT和EXPORT
- 换个角度思考勒索攻击事件
- jq取第一个子元素为select_Java修行第036天---MySQL中的子查询,分页语句,三大范式...
- 关于WS-PSNR、S-PSNR、CPP-PSNR
- 2019-2020大一下学期总结和暑假安排
- 基础总结篇之二:Activity的四种launchMode
- JavaJDBC:连接池
- 【SAP消息号AA776】
- 【深度学习】基于TextCNN实现文本分类
- Error:java.lang.RuntimeException: Some file crunching failed, see logs for details
- 我是SPI,我让框架更加优雅了!
- java项目 无法重命名_重命名项不起作用
热门文章
- SBI集团“逆市”入股玖富,背后意味着什么?|一点财经
- python实现聊天工具_python开发简单的聊天工具
- Js日期格式化 年月日时分秒
- 面试:Android数据库升级给表增加字段
- java 字符串限制长度吗_[Java教程]限制字符串长度
- Insyde uefi 隐藏设置_uefi版和装机版有什么区别详细分析
- VBA代码宝+代码助手
- Python猴子补丁
- 股票python量化交易014-计算收益率
- 计算机发展的英语介绍ppt模板,计算机发展跟应用-锐得ppt模板资料.ppt