我是靠谱客的博主 欢喜火车,最近开发中收集的这篇文章主要介绍matlab学习(1),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

matlab学习记录(1)

    • 矩阵的定义
    • matlab中常用的运算符

矩阵的定义

matlab中的变量都是矩阵,数当成一乘一的矩阵,那么矩阵是怎么定义的呢?
每一行用分号隔开,每一个数用空格或者逗号隔开
下面展示

输出

>> A=[1 2 3 4;4 3 2 1 ;2 3 4 1;3 2 4 1]

A =

     1     2     3     4
     4     3     2     1
     2     3     4     1
     3     2     4     1
     
>> B=[1+4j 2+3j 3+2j 4+1j;4+1j 3+2j 2+3j 1+4j;2+3j 3+2j 4+1j 1+4j;3+2j 2+3j 4+1j 1+4j]

B =

   1.0000 + 4.0000i   2.0000 + 3.0000i   3.0000 + 2.0000i   4.0000 + 1.0000i
   4.0000 + 1.0000i   3.0000 + 2.0000i   2.0000 + 3.0000i   1.0000 + 4.0000i
   2.0000 + 3.0000i   3.0000 + 2.0000i   4.0000 + 1.0000i   1.0000 + 4.0000i
   3.0000 + 2.0000i   2.0000 + 3.0000i   4.0000 + 1.0000i   1.0000 + 4.0000i

:这里的ij是虚数单位

matlab中常用的运算符

运算命令说明
A’矩阵转置
A^n矩阵求幂,n可以为任意常数
A*B矩阵相乘
A/B矩阵右除,A矩阵乘以B矩阵的逆矩阵
AB矩阵左除,A矩阵的逆矩阵乘以B矩阵
A+B矩阵加法
A-B矩阵相减
inv矩阵求逆
det矩阵求行列式
rank求矩阵的秩
eig求矩阵的特征向量和特征值
svd求矩阵的奇异值分解
norm求矩阵的范数

展示:

#求转置
>> A'

ans =

     1     4     2     3
     2     3     3     2
     3     2     4     4
     4     1     1     1
     
#求幂
>> A^2
ans =

    27    25    35    13
    23    25    30    22
    25    27    32    16
    22    26    33    19
#矩阵相乘
>> A*A

ans =

    27    25    35    13
    23    25    30    22
    25    27    32    16
    22    26    33    19
# 矩阵右除
>> A/B

ans =

   0.5000 + 0.0000i   0.0000 - 0.5000i   0.0000 - 0.0000i  -0.0000 + 0.0000i
  -0.0000 - 0.5000i   0.5000 + 0.0000i   0.0000 + 0.0000i   0.0000 - 0.0000i
   0.0000 - 0.5000i   0.0000 - 0.5000i   0.5000 + 0.5000i  -0.0000 + 0.0000i
  -0.0000 - 0.5000i  -0.0000 - 0.5000i  -0.0000 - 0.0000i   0.5000 + 0.5000i
#矩阵左除
>> AB

ans =

   1.0000 - 0.5000i   0.0000 + 0.5000i   0.0000 + 0.5000i  -0.0000 + 0.5000i
   0.0000 + 0.5000i   1.0000 - 0.5000i   0.0000 + 0.5000i   0.0000 + 0.5000i
   0.0000 + 0.5000i  -0.0000 + 0.5000i   1.0000 - 0.5000i  -0.0000 + 0.5000i
   0.0000 + 0.5000i   0.0000 + 0.5000i   0.0000 + 0.5000i   1.0000 - 0.5000i
#矩阵加法
>> A+B

ans =

   2.0000 + 4.0000i   4.0000 + 3.0000i   6.0000 + 2.0000i   8.0000 + 1.0000i
   8.0000 + 1.0000i   6.0000 + 2.0000i   4.0000 + 3.0000i   2.0000 + 4.0000i
   4.0000 + 3.0000i   6.0000 + 2.0000i   8.0000 + 1.0000i   2.0000 + 4.0000i
   6.0000 + 2.0000i   4.0000 + 3.0000i   8.0000 + 1.0000i   2.0000 + 4.0000i
#矩阵减法
>> A-B

ans =

   0.0000 - 4.0000i   0.0000 - 3.0000i   0.0000 - 2.0000i   0.0000 - 1.0000i
   0.0000 - 1.0000i   0.0000 - 2.0000i   0.0000 - 3.0000i   0.0000 - 4.0000i
   0.0000 - 3.0000i   0.0000 - 2.0000i   0.0000 - 1.0000i   0.0000 - 4.0000i
   0.0000 - 2.0000i   0.0000 - 3.0000i   0.0000 - 1.0000i   0.0000 - 4.0000i
#求逆矩阵
>> inv(A)

ans =

   -0.0333    0.2167   -0.4167    0.3333
   -0.0333    0.2167    0.5833   -0.6667
   -0.0333   -0.2833    0.0833    0.3333
    0.3000    0.0500   -0.2500   -0.0000
#求行列式
>> det(A)

ans =

   -60
#求矩阵的秩
>> rank(A)

ans =

     4
#求矩阵的特征值和特征向量
>> eig(A)

ans =

  10.0000 + 0.0000i
  -2.4288 + 0.0000i
   0.7144 + 1.4000i
   0.7144 - 1.4000i
#求矩阵的奇异值分解
>> svd(A)

ans =

   10.2349
    3.2698
    1.9187
    0.9344
#求矩阵的范数
>> norm(A)

ans =

   10.2349

>> 

最后

以上就是欢喜火车为你收集整理的matlab学习(1)的全部内容,希望文章能够帮你解决matlab学习(1)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部