Matlab数据处理
目录
- 数据统计与分析
- 多项式处理
- 微积分
- 离散傅里叶变换
- 线性方程组求解
- 非线性方程与最优化问题
- 常微分方程的数值求解
- 稀疏矩阵
数据统计与分析
最大值最小值
max(x)
min(x)
//返回矩阵的最大元素和最小元素
[y,u] = max(a) // 返回俩个行向量,y记录a的每列的最大元素,u记录每列最大元素的行号
[y,u] = max(a,[],dim) dim=1时与上相同,dim为2时返回列向量,第i个元素是A矩阵的第i行上的最大元素
//min相同
U = max[A,B] // 若A B为同行的矩阵或向量,则U是与他们同型的向量或矩阵,U的每个元素等于A B对应元素的较大者;
//若B为标量,则U是与A同行的向量或矩阵,U中每个元素等于A对应元素和n中的较大者
若要查找矩阵中的最大元素:max(max(A)) 或 max(A(:))
求矩阵的平均值和中值
// 设X是向量 A是矩阵
mean(x) // 返回向量x的算术平均值
median(x) // 返回向量X的中值
mean(A) // 返回一个行向量,其中第i个元素是A中的第i列的算术平均值
median(A)//返回一个行向量,其中第i个元素是A中的第i列的中值
median(A,dim) // dim = 1时,同上,dim为2时,返回一个列向量,其中第i个元素是A的第i行的中值
矩阵元素的求和与求积
// 设X为向量,A为矩阵
sum(X)// 求和
prod(X) // 求乘积
sum(A) // 返回一个行向量, 第i个元素是A的第i列的元素和
prod(A)// 返回一个行向量, 第i个元素是A的第i列的元素积
sum(A,dim) // dim=2 返回列向量,第i元素为A的第i行的个元素的和
prod(A,dim) // dim=2 返回列向量,第i元素为A的第i行的个元素的积
若想求全部的乘积或和,可以参照max的用法
矩阵元素的累加与累积
cumsum(X) //返回向量X累加和向量
cumprod(X) // 返回向量X的累乘积向量
cumsum(A) // 返回矩阵,第i列是A的第i列的累加和向量
cumprod(A) //返回矩阵,第i列是A的第i列的累乘积向量
cumsum(A,dim) cumprod(A,dim) 不再累述,可以用help查看
标准方差
std(A,flag,dim) // 当dim为1,返回一个行向量每个元素为矩阵的各列元素的标准方差,dim=2时返回各行元素的标准方差;flag为1时按照一个标准差公式,为2时为另一个标准差工式
相关系数
corrcoef(X) // 返回从矩阵X形成的一个相关系数矩阵
corrcoef(X,Y) // 与corrocoef([X,Y]) 相同
排序函数
sort(A) // 详情请看help
多项式处理
多项式的处理
进行多项式的乘法运算
conv(p1,p2)//,其中,P1,P2为多项式(a0*x^n+a1*x^n-1。。。。+an)的系数
对多项式进行除法运算
[Q,R] = Deconv(p1,p2)//是,Q为商式,R为余式
求P的导数
P = polyder(P)
**求p*q的导函数 **
P = polyder(p,q)
求P\Q的导函数
[p,q] = polyder(p,q) // 导函数的分子存入P,分母存入q
代数多项式求值
A = polyval(p,x) // P为多项式的系数向量,x为自变量,若x为数值,则求该点的值,若为矩阵或向量,则对其中每个元素求值 eg:A.*A.*A - 5*A.*A+8*ones(size(A))
矩阵多项式求值
polyvalm(P,A) // 要求P系数向量,A为方阵 则含义为eg: A*A*A - 5*A*A + 8*eye(size(A))
多项式求根
x = roots(P) // n次多项式有n个根
多项式求根后,可以使用poly(x) 将所有求的的根建立起该多项式
离散傅里叶变换
线性方程组的求解
直接解法
1.利用右除运算:x = A\b
2.利用矩阵的分解求解线性方程组:
LU分解 :将矩阵表示为一个交换下三角矩阵和一个上三角矩阵的乘积式,前提X方阵是非奇异的
[L,U] = lu(X) // 产生一个上三角阵U和变换形式的下三角阵L(行变换)使X = LU
[L,U,P] = lu(X) //// 产生一个上三角阵U和下三角阵L和一个置换矩阵P,使之能PX = LU
实现分解后x=U(L\b) 或x = U(L\Pb)
QR分解将矩阵分解为一个正交矩阵Q与上三角矩阵R的乘积形式,QR分解只能对方阵进行
持续更新。。。
[Q,R] = qr(X) // 产生正交矩阵Q,上三角矩阵R,使满足X = QR;
[Q,R,E] = qr(X) // 产生正交矩阵Q,上三角矩阵R以及一个转置矩阵E,使满足XE = QR;
实现分解后Ax=b的解x = R(Q\b)或x = E(R(Q\b))
Cholesky分解不再介绍
3.迭代解法
非常适合求解大型系数矩阵的方程组