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++上又不太实际,故采用 ...
随机推荐
- codeforces MemSQL start[c]up Round 2 - online version B 最长公共子系列
题目链接: http://codeforces.com/contest/335/problem/B 分析: 第一眼看上去串的长度为5*10^4, 冒似只能用O(n)的算法可解. 而这样的算法从来没见 ...
- Mina笔记
1.MINA框架简介 MINA(Multipurpose Infrastructure for Network Applications)是用于开发高性能和高可用性的网络应用程序的基础框架.通过使用M ...
- openssl生成自签名证书
1.生成x509格式的CA自签名证书 openssl req -new -x509 -keyout ca.key -out ca.crt 2.生成服务端的私钥(key文件)及申请证书文件csr文件 o ...
- 一个int类型究竟占多少个字节
一个int占多少个字节? 这个问题我们往往得到的答案是4. 可是int究竟占多少个字节,却跟你的机器环境有关. As you can see, the typical data type sizes ...
- STL之hash_set和hash_map
Contents 1 hash_set和hash_map的创建与遍历 2 hash_set和hash_map的查找 3 建议 一句话hash_set和hash_map:它们皆由Hashtable(St ...
- 大数据笔记03:大数据之Hadoop的安装
1.安装Hadoop (1)准备Linux环境 (2)安装JDK (3)配置Hadoop 2.准备Linux环境 (1)我们用户可能都是使用Windows环境,一般用户都是先安装虚拟机,然后在虚拟机上 ...
- python集合set,frozenset--笔记
<Python3程序开发指南>笔记. python提供了2种内置的集合类型:可变的set类型.固定的frozenset类型. 只有可哈希运算的对象可添加到集合中.可哈希的数据类型:floa ...
- AS 自动生成选择器 SelectorChapek
简介 https://github.com/inmite/android-selector-chapek 设计师给我们提供好了各种资源,每个按钮都要写一个selector是不是很麻烦? 这么这个插件就 ...
- spring-qualifier解释
如果一个class有两个对应的beanId,在Autowired的时候,必须指定Qualifier("指定其中一个beanId"). org.springframework.bea ...
- mongodb的地理空间索引常见的问题
创建地理空间索引注意事项 创建地理空间索引失败,提示错误信息如下 > db.places.ensureIndex({"loc":"2dsphere"}){ ...