在一直以来的学习当中,与matlab这款软件多有接触,但一直没有系统化地研究学习一下这款软件,趁着闲暇之余,整理一下自己有关matlab知识。
matlab技术支持搜索网站
一些基本的符号
- ans→answer
- inf→∞
- eps→2.2204e-16(最小精度)
- NaN→not a number
- pi→π
- e→自然常数
- syms→定义变量,如 syms x
一些基本的函数
- exp()→以e为底的指数函数
- sqrt()→平方根
- power(x,n)→x 的n次方
- abs()→绝对值
- sum()→求和
- mean()→平均值
- std()→标准差
- var()→方差
- max()/min()→最大/小值
- subs(y,x,a)→将x=a代入到y中
- sign(x)→符号函数
- format→设置命令行窗口输出显示格式,如分数显示:format rat
- syms→定义符号变量。
- 分段函数→利用布尔变量,如:y=1*(x>0)+ -1*(x<0)+0*(x==0)(以符号函数为例)
一些基本的操作
1. 矩阵
row vector :A=[1 2 3 4]
colum vector : B=[1;2;3;4]
general matrix :C=[1 2 3 4;5 6 7 8 ; 9 0 1 2 ;3 4 5 6]
矩阵的运算:
- 矩阵的秩→rank(a)
- 矩阵的行列式→det(a)
- 矩阵的逆→inv(a)
- 矩阵的转置→A.’
- 矩阵的共轭转置→A’
- 矩阵的范数→norm(a)
- 矩阵的特征值和特征向量→[X,Y]=eig(a)
(X矩阵是特征向量,Y矩阵的对角线上是相应的特征值,取出特征值可用y=diag(Y)) - a/b 相当于a乘以(b的逆)
b\a 相当于(b的逆)乘以a - 创建对角矩阵或获取矩阵的对角元素→diag()
- 获取矩阵的行数和列数→[m,n]=size(A)
2. 求解多项式方程
有关函数:
roots()→求解多项式函数的零点
conv()→向量卷积运算(通俗点可以说是多项式的乘积)
用两个个例子来说明:
例1:求解5x4+4x3+2x+1=0
用向量P表示各项次系数,顺序一一对应,没有的项次视作系数为0。
例2:求解(5x3+2x2+x+1)(x+2)+1=0
用conv()来表示乘积(很奇怪matlab 的数列不是从0开始的,嘻嘻)
3.极限、积分、微分
极限函数:limit( F, x, a, ‘right /left’ ):F在x→a时的(右/左)极限。
积分函数:
int(F,x):F关于x 的不定积分 (int后积分系数C仍不确定!)
int(F,x,a,b):F关于x在(a,b)区间的定积分
附:梯形数值积分trapz(x,Y,dim)
累计梯形数值积分cumtrapz(x,Y,dim)
微分函数:
diff(F,n):F的n阶导数
附:数值梯度函数[FX,FY,FZ,…,FN] = gradient(F)
4.关于solve()函数的使用
solve(eqation,symbol) (单未知量)
附:
- solve(‘x*sin(x)-x’,x)其实也行;
- 如果显示的结果是root(…)的形式,可以用vpa(s)获得精确的解。
solve(eq1,eq2,x,y) (多未知量)