Matlab 矩阵运算
1、Syms 和sym的区别:
- syms是定义多个符号是符号变量的意思
sym只能定义一个符号变量,但可以具体到这个符号变量的内容
例:syms f z; %定义下x和y
f=sym('a+b+c'); %就只能定义一个f=a+b+c
- 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'
2、subs 置换指令
- R=subs(S) %将表达式S中的所有变量用调用的函数或MATLAB workspace中获得的值进行置换,将置换后的表达式赋给R;
- R=subs(S,new) %用new置换表达式S中的自变量后在赋给R;
- 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、 pinv、rank、eig
inv:逆矩阵。矩阵A为方阵。
pinv:伪逆矩阵。当矩阵A为长方形时,计算A的伪逆矩阵,用pinv(A)。
rank:矩阵的秩
eig:矩阵的特征值。
两种格式:(1)d=eig(A) 特征值以列向量形式给出
(2)[V,D]=eig(A) V:特征向量矩阵;D特征值(对角矩阵)
4、矩阵分解
- Cholesky分解
A为
的正定矩阵。使得
。格式:(1) R=chol(A) 输出R的上三角矩阵。
(2)[R,p]=chol(A) 输出R矩阵同上,如果A为正定p=0,如果A不正定,则p为正整数,且上三角矩阵R的阶数n=p-1。
- LU分解
将A分解为一个下三角矩阵L与一个上三角矩阵U的乘积。格式:[L, U]=lu(A)
- QR分解
将矩阵A分解为一个正交矩阵Q与一个上三角矩阵R的乘积。
格式:(1)[Q,R]=qr(A) 输出Q:正交矩阵;R:上三角矩阵。

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

- 奇异值分解
格式:(1)S=sdv(A) 输出S是A的奇异值对角矩阵
(2)[U,S,V]=svd(A) 输出U与V是两个正交矩阵,

U、S与V称为矩阵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):生成
阶的单位矩阵。
一般eye和size一起用,生成指定矩阵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)= |
|
rot90 |
矩阵逆时针旋转90° |
10、矩阵的运算函数
|
函数 |
功能 |
函数 |
功能 |
|
cond |
向量矩阵的条件数 |
norm |
向量矩阵的范数 |
|
condeig |
对应于特征值的条件数 |
null |
矩阵的零空间 |
|
det |
方阵的行列式值 |
orth |
矩阵的列空间 |
|
expm |
矩阵的指数函数 |
rank |
矩阵的秩 |
|
funm |
计算矩阵的函数值 |
subspace |
子空间的夹角 |
|
logm |
矩阵的对数函数 |
squtm |
矩阵的平方根 |
Matlab 矩阵运算的更多相关文章
- MATLAB矩阵运算
1. 矩阵的加减乘除和(共轭)转置 (1) 矩阵的加法和减法 如果矩阵A和B有相同的维度(行数和列数都相等),则可以定义它们的和A+B以及它们的差A-B,得到一个与A和B同维度的矩阵C,其中Cij=A ...
- Matlab——矩阵运算 矩阵基本变换操作
矩阵运算 + 加 - 减 .* 乘 ./ 左除 .\ 右除 .^ 次方 .' 转置 除了加减符号,其余的运算符必须加“.” >> a = : a = >> a- %减法 ans ...
- matlab 矩阵运算技巧
1.a=a(:) 作用:将矩阵转化成列向量 a=[a11 a12 a13 a=[a11 a21 a12 a22 a13 a23]^T a21 a22 a23] ...
- [matlab] 3.矩阵
matlab矩阵运算很强大 ,几乎所有涉及矩阵运算的命令都有. 事实上,matlab里面所有变量都是以矩阵的形式保存下来的. %% >> x=[1:2.1:10] x = 1.0000 ...
- matlab基本操作总结
1.clear;//清除工作平台变量2.close all;//关闭打开的图形窗口3.I = imread('C:\Users\dell\Desktop\rice.jpg');//读取图像,存储在I数 ...
- matlab中矩阵式子的不成熟理解
matlab中的矩阵式的系统方式理解:一个矩阵式代表一个系统的作用,列代表输入,行代表输出,有多少列就有多少输入,有多少行就有多少输出,矩阵式的相加代表的是线性系统的叠加作用,矩阵式的相乘代表的是两个 ...
- MATLAB基础指令操作
由于课程实验需要学习使用了MATLAB,在此记录一下MATLAB的基本操作和命令,供参考与查阅. 学习过程中的资料也链接如下: MATLAB矩阵运算:https://wenku.baidu.com/v ...
- MATLAB入门学习(二)
关于矩阵 ~o( =∩ω∩= )m matlab矩阵运算很强大 ,几乎所有涉及矩阵运算的命令都有. 事实上,matlab里面所有变量都是以矩阵的形式保存下来的. 一个数字是1x1矩阵 我们来看看矩阵的 ...
- [转] Matlab与C++混合编程,添加OpenCV库
原文地址 峰回璐转 最近在做运动医学软件优化工作,此款软件框架及算法语言全由matlab实现,虽然matlab矩阵运算.数值计算能力强大,但速度让人难以忍 受.软件立刻移植到C++上又不太实际,故采用 ...
随机推荐
- 用UBOOT自带loadb命令加载应用程序到SDRAM中运行的方法
S3C44B0开发板中,用UBOOT自带loadb命令加载应用程序到SDRAM中运行的方法 1.开发板说明: 开发板上已有移植好的UBOOT运行. 2.交叉编译工具链为arm-linu-g ...
- Jquery 的bind(), live(), delegate(), on()绑定事件方式
1. 因为项目中经常会有利用jquery操作dom元素的增删操作,所以会涉及到dom元素的绑定事件方式,简单的归纳一下bind,live,delegate,on的区别,以便以后查阅. bind() 适 ...
- git commit error about 'vi'
error: There was a problem with the editor 'vi'. Please supply the message using either -m or -F opt ...
- Sublime Text 2.0.2 注册码
Sublime Text 2.0.2 注册码 直接输入注册码就可以了----- BEGIN LICENSE -----Andrew WeberSingle User LicenseEA7E-85560 ...
- [Angular 2] Handling Click Events with Subjects
While Angular 2 usually uses event handlers to manage events and RxJS typically uses Observable.from ...
- php递归json类实例代码
这篇文章主要介绍了php递归json类的实现方法,可以实现对索引数组及数字数组的解析,进而实现递归数组返回json字符串的功能.具体实现代码如下: <?php /* * @ anthor:QD ...
- Java基础知识强化94:Calendar类之Calendar概述和获取日历字段的方法
1. Calendar类概述: Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR.MONTH.DAY_OF_MONTH.HOUR 等 日历字段之间的转换提供了一些方法,并 ...
- Creating LVM Logical Volumes
LVM-Logical Volume Manager逻辑卷管理的一些基本概念: 用途: 在零停机前提下可以自如对文件系统的大小进行调整,可以方便实现文件系统跨越不同磁盘和分区.当系统添加了新的磁盘,通 ...
- 修改SELinux设置,使vsftp在enforcing security enhance模式下正常运行
开了SELinux和防火墙,没想到引出了vsftp的问题.FTP登录报错:500 OOPS: cannot change directory.下面来看看产生这个问题的原因和对策. 首先,分析一下冲突原 ...
- web项目环境搭建(3):搭建Spring+MyBatis
spring 4.1.7 + MyBatis 3.3 正式开始配置关键内容,这是硬货 一. 新建spring配置文件,起名为 applicationContext.xml,放在src/main/res ...