首页 > 代码库 > Matlab 矩阵运算

Matlab 矩阵运算

1Syms sym的区别:

  1. syms是定义多个符号是符号变量的意思

    sym只能定义一个符号变量,但可以具体到这个符号变量的内容

    例:syms f z; %定义下xy

    f=sym‘a+b+c‘; %就只能定义一个f=a+b+c

  2. syms可以直接声明符号函数d(r),并且可以对函数的形式进行赋值改变,但是sym却不可以

    例:>> syms d(r)

    >> d=r^2

    d =r^2

    >> sym d(t)

    ans =d(t)

    >> d=t^2

    Undefined function or variable ‘t‘

2subs 置换指令

  1. R=subs(S) %将表达式S中的所有变量用调用的函数或MATLAB workspace中获得的值进行置换,将置换后的表达式赋给R
  2. R=subs(S,new) %new置换表达式S中的自变量后在赋给R
  3. R=subs(S,old,new) %new置换表达式中的old,然后将置换完的表达式赋给R

例:>> syms a b x;

>> f=a*sin(x)+b

f =b + a*sin(x)

>> f1=subs(f,sin(x),‘log(y)‘)

f1 =b + a*log(y)

>> f2=subs(f,a,2.89)

f2 =b + (289*sin(x))/100%单个变量被双精度数字置换后,其结果仍然是符号对象属性,f中的a被置换为289/100了。

>> f3=subs(f,{a,b,x},{2,5,sym(‘pi/3‘)})

f3 =3^(1/2) + 5%如果置换数字中含有符号数字,那么计算记过类型也为符号sym类型。表达式中的所有变量都被数字置换,而且sin(pi/3)被计算出来了(其类型即为sym

>> f4=subs(f,{a,b,x},{2,5,pi/3})

f4 =6.7321%如果置换全为双精度数值型数字,计算结果也为双精度

?

3、向量的积、叉积

dot:向量的数量积。格式:C=dot(A,B)

cross:向量的叉积。格式:C=cross(A,B)

4、矩阵中inv pinvrankeig

inv:逆矩阵。矩阵A为方阵。

pinv:伪逆矩阵。当矩阵A为长方形时,计算A的伪逆矩阵,用pinv(A)

rank:矩阵的秩

eig:矩阵的特征值。

两种格式:(1)d=eig(A) 特征值以列向量形式给出

(2)[V,D]=eig(A) V:特征向量矩阵;D特征值(对角矩阵)

4、矩阵分解

  1. Cholesky分解

    A的正定矩阵。使得

    格式:(1) R=chol(A) 输出R的上三角矩阵。

    (2)[R,p]=chol(A) 输出R矩阵同上,如果A为正定p=0,如果A不正定,则p为正整数,且上三角矩阵R的阶数n=p-1

  2. LU分解

A分解为一个下三角矩阵L与一个上三角矩阵U的乘积。格式:[L, U]=lu(A)

  1. QR分解

    将矩阵A分解为一个正交矩阵Q与一个上三角矩阵R的乘积。

    格式:(1)[Q,R]=qr(A) 输出Q:正交矩阵;R:上三角矩阵。

    (2)[Q,R,E]=qr(A) 输出的参量E为一个置换矩阵。

  2. 奇异值分解

    格式:(1)S=sdv(A) 输出SA的奇异值对角矩阵

    (2)[U,S,V]=svd(A) 输出UV是两个正交矩阵,

    USV称为矩阵A的奇异值分解三对组。

    ?

5、基本函数组

函数名

功能

函数名

功能

sec

正切

log

自然对数

csc

余切

log10

常用对数

asin

反正弦

pow2

2为底的指数

atan

反正切

conj

复数的共轭

atan2

四象限反正切

isreal

是否为复数

sinh

双曲正弦

asinh

反双曲正弦

sign

符号函数

sqrt

平方根

fix

0取整

floor

向负无穷方向取整

ceil

向正无穷方向取整

round

四舍五入

mod

除法求余(与除数同号)

rem

除法求余(与被除数同号)

?

6、特殊函数组

函数名

功能

函数名

功能

airy

Airy函数

erf

误差函数

beseelj

第一类beseel函数

erfinv

误差函数的逆函数

beseely

第二类beseel函数

exprint

指数形式积分函数

beseelh

第三类beseel函数

gamma

Gamma函数

beseeli

改进的第一类beseel函数

gammanic

不完全Gamma函数

beseelk

改进的第一类beseel函数

gammaln

对数Gamma函数

beta

Beta函数

isprime

是否为质数

betainc

不完全beta函数

gcd

最大公约数

betaln

对数beta函数

lcm

最小公倍数

ellipj

Jacobi椭圆形函数

rat

有理数近似

ellipke

完全椭圆形积分

rats

有理数形式输出

?

7、矩阵函数

zeros(m,n):生成元素全为0阶矩阵。

ones (m,n):生成元素全为1阶矩阵。

rand (m,n):生成均匀分布的阶的随机矩阵。

randn(m,n):生成正态分布的阶的随机矩阵。

magic(N):生成一种N阶魔方阵。魔方阵:每一行、每一列、对角线上的元素之和相等。

diag (X):生成矩阵X的对角矩阵。

triu (Y):生成矩阵Y的上三角矩阵。

tril (Y):生成矩阵Y的上三角矩阵。

size (Z):返回指定矩阵Z的行数和列数。

eye (m,n):生成阶的单位矩阵。

一般eyesize一起用,生成指定矩阵Z同维的单位矩阵。

8、特殊矩阵生成函数

函数

功能

函数

功能

compan

伴随阵

magic

魔方阵

gallery

Higham检验矩阵

pascal

Pascal

hadamard

Hadamard

rosser

经典对称特征值检验矩阵

hankel

Hankel

toeplitz

Toeplitz

hilb

Hilbert

vander

Vander

invhilb

hilbert

wilknsion

Wilksion特征值检验矩阵

?

9、矩阵变换函数

函数

功能

fliplr

矩阵左右翻转

flipud

矩阵上下翻转

flipdim

矩阵沿特定维翻转

例:flipdim(A,1)= flipud(A); flipdim(A,2)

rot90

矩阵逆时针旋转90°

?

10、矩阵的运算函数

函数

功能

函数

功能

cond

向量矩阵的条件数

norm

向量矩阵的范数

condeig

对应于特征值的条件数

null

矩阵的零空间

det

方阵的行列式值

orth

矩阵的列空间

expm

矩阵的指数函数

rank

矩阵的秩

funm

计算矩阵的函数值

subspace

子空间的夹角

logm

矩阵的对数函数

squtm

矩阵的平方根

Matlab 矩阵运算