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++上又不太实际,故采用 ...
随机推荐
- 《SDN核心技术剖析和实战指南》2.3 OF-CONFIG配置管理协议小结
OpenFlow协议定义了交换机和控制器交换数据的方式和规范,但并没有定义如何配置和管理必需的网络参数和网络资源,OF-CONFIG的提出就是为了对OpenFlow提供配置管理支持.如下图所示,OF- ...
- Hive从概念到安装使用总结
一.Hive的基本概念 1.1 hive是什么? (1)Hive是建立在hadoop数据仓库基础之上的一个基础架构: (2)相当于hadoop之上的一个客户端,可以用来存储.查询和分析存储在hadoo ...
- hdu3656Fire station(DLX重复覆盖 + 二分)
题目请戳这里 题目大意:一个城市n个点,现在要建m个消防站,消防站建在给定的n个点中.求建m个消防站后,m个消防站要覆盖所有的n个点的覆盖半径最小. 题目分析:重复覆盖问题,DLX解决.不过要求覆盖半 ...
- XML的四种解析器原理及性能比较
转自zsq 1.DOM DOM 是用与平台和语言无关的方式表示 XML 文档的官方 W3C 标准.DOM 是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找特定信息.分 ...
- TestNG 与 Junit的比较(转)
转自 http://www.blogjava.net/fanscial/archive/2005/12/14/23780.html 1. JDK 5 Annotations (JDK ...
- 解决NoSuchMethodError with Spring MutableValues异常问题
今天下午项目启动时,遇到一个异常,导致无法启动: [ 221] ERROR - work.web.context.ContextLoader - Context initialization fail ...
- [Javascript] Advanced Reduce: Flatten, Flatmap and ReduceRight
Learn a few advanced reduction patterns: flatten allows you to merge a set of arrays into a single a ...
- 使用正则表达式给网址添加a标签
在内容中存在链接地址的时候,我们在前台显示时一定想自动的将地址添加上a标签,方便用户进入链接.使用正则表达式就能轻松实现. Jsvascript正则替换 //javascript 正则替换 var s ...
- Android 百度地图 SDK v3.0.0 (四) 引入离线地图功能
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37758097 一直觉得地图应用支持离线地图很重要啊,我等移动2G屌丝,流量不易, ...
- PullToRefresh下拉刷新 加载更多 详解 +示例
常用设置 项目地址:https://github.com/chrisbanes/Android-PullToRefresh a. 设置刷新模式 如果Mode设置成Mode.PULL_FROM_STAR ...