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++上又不太实际,故采用 ...
随机推荐
- Java学习日记 I/O
File类1.String[] list() 返回一个目录下文件和文件夹路径的字符串数组2.File[] listFiles() 以File类对象数组,返回目录下的所有文件和文件夹3.isDirect ...
- 获取机器本地的公网ip地址
1. ipecho.net/plain
- 迁移ADT/ANT构建的Android项目至Gradle,a walk through。
LibModule 配置更新 9 months ago app 配置更新 9 months ago gradle/wrapper 配置更新 9 months ago screenshots ...
- webservice(CXF)基于3.1.1版本实例
引言 有没有一种办法可以实现跨应用程序进行通信和跨平台进行通信呢? 换句话说,就是有什么办法可以实现我的应用程序 A 可以和应用程序 B 进行通信呢? 或者说是,我用 Java 写的应用程序和用 . ...
- Oracle sqlplus 语法
目录: 0. FREFACE 1. 执行一个SQL脚本文件 2. 对当前的输入进行编辑 3. 重新运行上一次运行的sql语句 4. 将显示的内容输出到指定文件 5. 关闭spool输出 6.显示一个表 ...
- 循序渐进DB2(第2版)——DBA系统管理、运维与应用案例
<循序渐进DB2(第2版)——DBA系统管理.运维与应用案例> 基本信息 作者: 牛新庄 出版社:清华大学出版社 ISBN:9787302323013 上架时间:2013-7-3 出 ...
- 加入gitignore文件没有起作用怎么办
步骤一: 假设有未提交的文件先提交到Git. 步骤二: 在Git根文件夹下运行以下的Git命令: git rm -r --cached . git add . git commit -m " ...
- HDFS集群balance(4)-- 测试计划
转载请注明博客地址:http://blog.csdn.net/suileisl HDFS集群balance,对应版本balance design 6 如需word版本,请QQ522173163联系索要 ...
- VC2010对Excel的操作
1. 创建新的C++工程 创建基于对话框的MFC程序 2. 添加库.添加Excel类库 在工程名上右键,选择“添加”—“类”(或者点击菜单栏的“项目”->“添加类”),选择“TypeLib中的M ...
- 转 [教程] Unity3D中角色的动画脚本的编写(二)
在上一篇,我们介绍了有关Animation这个类中的部分方法,我后来想了想,这么介绍也不是个办法(其实有些方法我自己也没用过),该介绍点实际的东西了,毕竟我们是要做东西出来的.那好 ...