【MATLAB】MATLAB向量与矩阵运算编程技巧

本文介绍了MATLAB中常见的矩阵生成函数,如zeros、ones和eye,以及冒号运算符的使用。详细讲解了矩阵的旋转、重塑和大小查询,重点阐述了线性代数运算,包括特征值和特征向量的计算,还提及了MATLAB中的数学函数和矩阵运算特性。
摘要由CSDN通过智能技术生成

目录

1.常见矩阵生成函数

2.冒号运算符

3.矩阵的旋转

4.改变矩阵的形状:reshape

5.查看矩阵的大小:size

6.线性代数运算的MATLAB命令

7.特征值和特征向量  

8.Matlab中常见数学函数


1.常见矩阵生成函数

zeros(m,n)

生成一个 m n 列的零矩阵,m=n 时可简写为 zeros(n)

ones(m,n)

生成一个 m n 列的元素全为 1 的矩阵,
 
m=n 时可写为 ones(n)

eye(m,n)

生成一个主对角线全为 1 的 m n 列矩阵,
m=n 时可简写为 eye(n),即为 n 维单位矩阵

diag(X)

X 是矩阵,则 diag(X) X 的主对角线向量

X 是向量,diag(X) 产生以 X 为主对角线的对角矩阵

tril(A)

提取一个矩阵的下三角部分

triu(A)

提取一个矩阵的上三角部分

rand(m,n)

产生 0~1 间均匀分布的随机矩阵 m=n 时简写为 rand(n)

randn(m,n)

产生均值为0,方差为1的标准正态分布随机矩阵
m=n 时简写为 randn(n)

2.冒号运算符

A(:)     A 的所有元素
A(:,:)   二维矩阵 A 的所有元素
A(:,k)    A 的第 k 列, A(k,:)    A 的第 k

A(k:m)   A的第 k 到第 m 个元素

A(:,k:m)   A的第 k 到第 m 列组成的子矩阵

3.矩阵的旋转

fliplr (A)   左右旋转
flipud (A)   上下旋转

rot90(A)   逆时针旋转 90 度;
rot90(A,k) 逆时针旋转 k×90

4.改变矩阵的形状:reshape

reshape(A,m,n): 将矩阵元素按 列方向 进行重组

5.查看矩阵的大小:size

size(A)   列出矩阵 A 行数和列数
size(A,1)  返回矩阵 A 行数

size(A,2)  返回矩阵 A 的

length(x)  返回向量 X 长度

length(A)  等价于 max(size(A))

6.线性代数运算的MATLAB命令

        MATLAB是矩阵化程序设计语言,所以处理矩阵和向量运算特别方便。关于矩阵和向量的一些基本运算命令已在前面有所介绍,常用的命令和函数还有

zeros         生成0矩阵                 eig     特征值、特征向量

ones         生成1矩阵                 diag     对角矩阵

eye          生成单位矩阵            trace    方阵的迹

linspace      生成等距行向量     rank    矩阵的秩

rand         生成随机矩阵            rref     行最简形

det          方阵的行列式             orth     正交规范

inv          方阵的逆                     null     求基础解系

norm         范数                         jordan    Jordan 分解

cond         方阵的条件数 

X=A\B  <==> A*X=B

X=B/A  <==> X*A=B

当A为方阵,其结果与inv(A)*B基本一致;

A不为方阵,除法将分三种情况自动检测:若为超定方程组(既无解)除法将给出最小二乘意义上的近似解,即使向量AX-B的长度最小;若为不定方程组(即无穷多解),除法将给出一个具有最多零元素的特解(不是通解);若为唯一解,除法将给出这个解。用户对结果应有一个正确的认识。

根据上述原理,做几个案例分析:

 

7.特征值和特征向量  

[V,D]=eig(A)

          返回方阵A的特征值和特征向量。其中D为特 征值构成的对角阵,每个特征值对应的V的为属于该特征值的一个特征向量,每个特征向量都是单位向量,并且属于同一特征值 的线性无关特征向量已正交化。

eig(A) 

返回方阵A的特征值构成的列向量。

例:

>> A=[1 2 3;2 3 4;2 4 5];[V,D]=eig(A),t=eig(A)

V =

  -0.3957            -0.2167 + 0.5832i  -0.2167 - 0.5832i

  -0.5765             0.6313             0.6313         

  -0.7149            -0.3914 - 0.2471i  -0.3914 + 0.2471i

D =

   9.3329                  0                  0         

        0            -0.1665 + 0.2818i        0         

        0                  0            -0.1665 - 0.2818i

t =

   9.3329         

  -0.1665 + 0.2818i

  -0.1665 - 0.2818i

8.Matlab中常见数学函数

sin、cos、tan、cot、sec、csc、…

asin、acos、atan、acot、asec、acsc、…

exp、log、log2、log10、sqrt

abs、conj、real、imag、sign

fix、floor、ceil、round、mod、rem

maxminsummeansort、fft

norm、rank、det、inv、eig、lu、qr、svd

……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Simuworld

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值