快使用Ctrl+D收藏本站!本站早已不再维护,择期将关闭本站!!本站资源已全部失效,请勿打赏!!PLC培训创业官网 苏州实操派科技-点击访问-

MATLAB自学笔记(七):数组运算与矩阵操作

matlab仿真 파충충好气气 5377℃ 0评论

数组运算

1.数组的创建与操作

普通创建方式:

利用冒号创建一维数组:

利用logspace函数创建一维数组:

  • y = logspace(a,b):创建行向量y,第一个元素为10^a,最后一个元素为10^b,形成总数为50个元素的等比数列;
  • y = logspace(a,b,n):创建行向量y,第一个元素为10^a,最后一个元素为10^b,形成总数为n个元素的等比数列。

利用linespace函数创建一维数组:

  • y = linespace(a,b):创建行向量y,第一个元素为a,最后一个元素为b,形成总数为100个元素的等差数列;
  • y = linespace(a,b,n):创建行向量y,第一个元素为a,最后一个元素为b,形成总数为n个元素的等差数列。

2.数组间的运算

基本运算:

加、减、乘、左除、右除、乘方

加减:(A+B、A-B)要求A、B维数相同

乘法:(A.*B)数组对应元素相乘,计算结果是与A、B相同维度的数组。要求A、B维数相同

除法:左除./     右除.\                  要求A、B维数相同

乘方:.^

点积:dot

利用dot函数可进行点积的运算,要求A、B维度相同

关系运算:

  • 当两个比较量是标量时,直接比较两个数的大小。若关系成立,则返回的结果为1;否则为0
  • 当两个比较量是维度相等的数组时,逐一比较两个数组相同位置的元素,并分别给出比较结果,比较结果也是相同维度的数组

逻辑运算:

  • 非零为真,返回1;否则返回0
  • 当两个比较量是维度相等的数组时,逐一比较两个数组相同位置的元素,并分别给出比较结果,比较结果也是相同维度的数组
  • &、|、~运算法则不变

矩阵操作

1.创建矩阵

除了之前提到过的零阵(zeros)、单位阵(eye)、全1阵(ones)等特殊矩阵之外,MATLAB中还有一些其他指令用于生成实验矩阵:

数名称 表示意义
company(p) 生成一个特征多项式为p的二维矩阵
hadamard(k) 返回一个阶数为2k的Hadamark矩阵,只有当n能被4整除时Hadamark矩阵才存在
hankel(x) 返回一个由向量x定义的Hankel方阵。该矩阵是对称矩阵,第一列元素为向量x,反三角以下的元素为0
hankel(x,y) 返回一个m*n的Hankel矩阵,其第一列元素为向量x,最后一行为向量y
magic(n) 返回一个n*n的魔方矩阵
pascal(n) 返回一个n*n的Pascal矩阵
rosser 给出Rosser矩阵,这是一个经典对称特征测试问题,大小为8*8
vander(x) 返回一个Vandermonde矩阵
wilkinson(n) 返回一个m*n的Wilkinson特征值测试矩阵

希波尔特(Hilbert)矩阵

希波尔特(Hilbert)矩阵,也称H阵,其元素为H(i,j) = 1/(i+j-1)。即他是一个条件数差的矩阵,常被用来作为实验矩阵

  • hilb(n):生成一个n*n的H阵
  • invhilb(n):生成一个n*n的H阵的逆矩阵整数矩阵

可以看出其都是对称矩阵

托普利兹(Toeplitz)矩阵

它由两个向量定义,一个行向量,一个列向量。对称的托普利兹由单一向量来定义。

  • toeplitz(k,r):生成非对称托普利兹矩阵。第一列为k,第一行为r,其余元素等于左上角元素
  • topelitz(c):生成堆成托普利兹矩阵

魔方(magic)矩阵

魔方矩阵中每行、列和两条对角线上的元素和相等。

帕斯卡(pascal)矩阵

  • A = pascal(n):返回n阶的对称正定Pascal矩阵,其中元素是由Pascal三角组成的,其逆矩阵的元素都是整数
  • A = pascal(n,1):返回由下三角的Cholesky因子组成的Pascal矩阵,他是对称的,所以他是自己的逆
  • A = pascal(n,2):返回pascal(n,2)的转置和交换形式。A是单位矩阵的立方根

范德蒙(Vandermonde)矩阵

  • A = vander(v):生成范德蒙阵,矩阵的列是向量v的幂,即A(i,j) = v(i)^(n-j),其中n = length(v)。

2.改变矩阵大小

矩阵的合并

矩阵的合并就是把两个及两个以上的矩阵合成一个矩阵

  • C = [A B]                    %将两个矩阵列数相加,要求两矩阵行数相等
  • C = [A; B]                   %将两个矩阵行数相加,要求两矩阵列数相等

矩阵行列的删除

矩阵行列的删除就是把该行或者该列赋予一个空矩阵”[]”即可。

其中“,:”表示的是整行元素

3.矩阵重构

矩阵重构的两个比较重要的运算是转置和共轭转置。

  • 若矩阵A为实数,则A’与A.’都是求A的转置,且结果相同
  • 若矩阵A为复数,则A’表示求A得共轭转置,A.’表示求A得转置

转载请注明:燕骏博客 » MATLAB自学笔记(七):数组运算与矩阵操作

赞赏作者

微信赞赏支付宝赞赏

喜欢 (2)or分享 (0)

如果您喜欢本站文章,感觉本站的资源对您有帮助,请狠狠点击下面

每累计赞助40元,即可让本站按最低配置运行一个月,感谢您的支持!

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址