本文记录了matlab中一些函数的用法,以便后期查阅。

matlab一些函数用法

求积分、求差分、求导数

数值积分:integral(fun,xmin,xmax)
符号积分:int()
求差分、求导都是用的diff函数

解常微分方程

  • 符号解:fun=dsolve(‘equ1’,’equ2’,’equ3’),fun即为最终求得的微分方程,默认对自变量t求导
  • 数值解:ode工具箱

解方程组

solve:求方程组的符号解
linsolve:求线性方程组数值解
fsolve:求非线性方程组数值解

解不等式

matlab中没有求解不等式的函数,只能先解对应的等式再画图判断
normpdf(x,mu,sigma) x(向量)的正态分布概率密度函数

插值函数

  • 一维插值函数:y=interp1(x0,y0,x,’spline’),spline为三次样条插值,x0、y0为原始点,x为更密集的需求值点,y为求得的函数值,一般不推荐外插
  • 二维插值函数:z = interp2(x0,y0,z0,x,y,’spline’)

多项式拟合

[p]=polyfit(x,y,n) 和 y1=polyval(p,x1),p为降幂排列的阶数
matlab拟合工具箱:cftool

求线性规划问题

linprog()

画散点图

scatter()

求矩阵行列数

size(A):矩阵A的行、列数;
size(A,1):A的行数;
size(A,2):A的列数。

替换方程中的特定符号

subs(fun,{‘a’,’b’},{3,5})
对符号方程中特定符号进行替换,可替换为特定数值、其他符号变量;也可替换为数组:得到同阶数组。

设定有效数字位数

vpa(xxx, 数字)
四舍五入控制有效数字位数,xxx可以是数,也可是表达式。

poly2sym()

poly2sym(系数行向量,x)
系数行向量->多项式,各项次数由系数数量控制

一些统计学名词

  • SSE(残差平方和):The sum of squares due to error,越接近0越好。点对点误差平方,再加和
  • MSE(残差平方和均值):Mean squared error,SSE/n
  • RMSE:MSE开根号
  • SSR(回归平方和):预测数据与原始数据均值之差的平方,再加和。点对面
  • R-square(确定系数):[0,1],越接近1越好
  • Adjusted R-square(矫正后确定系数):对复杂模型的惩罚

读excel

读excel:A=xlsread(filename,sheet,’B3:C4’),sheet为对应数字
写excel:直接粘贴

Min-Max标准化

将矩阵的【每一行】进行标准化处理

1
2
3
4
5
A=[1,2,3];
A=mapminmax(A,0,1); 标准化到0~1之间
[Y,PS] = mapminmax(X,YMIN,YMAX)
Y = mapminmax('apply',X,PS)
X = mapminmax('reverse',Y,PS)

legend加公式

legend(‘样本’,[‘y = ‘,sprintf(‘%.3fx^2+%.3fx%.3f’,p(1),p(2),p(3))]);

产生随机数

  1. rng(2),设置随机数种子
  2. 之后rand()产生的随机数都是一定的

Post Date: 2018-01-19

版权声明: 本文为原创文章,转载请注明出处