MATLAB常用总结————工程数据分析与数值分析
1、基本函数
max(x)
最大值
min(x)
最小值
mean(x)
平均值
median(x)
中值
sort(x)
升序排列
sortrows(x)
降序排列
std(x)
标准差
factor(n)
求取含有n值的所在矢量
primes(n)
给出小于n的质数
2、常用函数
fplot(f,[a,b])
fmin(f,[a,b])
寻找[a,b]间的最小值
fimis(f,'x')
寻找x附近的最小值
fzreo(f,x0)
寻找x0附近的零点
del2
离散函数
diff(x)
求x差分
gradient(f)
求f的数值梯度
3、求极值
diff微分 solve求解
4、有限差分
(1)差分和近似微分diff
>> x = [1 2 3 6 5 8 7 4];
>> diff(x)
ans =
1 1 3 -1 3 -1 -3
>> diff(x,2)
ans =
0 2 -4 4 -4 -2
(2)数值梯度函数gradient
5、插值
(1)一维插值函数interpl(x,y,xi,method)
method可选:nearest最邻近插值方式linear线性插值spline三次线性插值pchip分段三次多项式插值…
>> x = 0:10;
>> y = sin(x);
>> xi = 0:2.5:10;
>> yi = interp1(x,y,xi);
>> t = 1900:10:1990;
>> p = [75.995 91.972 105.711 123.203 131.669 150.697 179.323 203.212 226.505 249.633];
>> x = 1900:1:2000;
>> y = interp1(t,p,x,'nearest');
>> plot(t,p,'bo',x,y,'r')
>> y = interp1(t,p,x,'linear');
>> plot(t,p,'bo',x,y,'r')
(2)二维插值函数interp2(x,y,z,xi,yi,method)
method可选:Nearest不连续Linear,Cubic,Spline精度最好
>> [x,y] = meshgrid(-3:.25:3);
>> z = peaks(x,y);
>> [xi,yi] = meshgrid(-3:.125:3);
>> zi = interp2(x,y,z,xi,yi);
>> mesh(x,y,z),hold,mesh(xi,yi,zi+15)
meshgrid:用于生成网格采样点的函数
peaks:是一个典型的多元函数。它本质上是一个二元高斯分布的概率密度函数
mesh:画三维图
(3)样本插值
yy = spline(x,y,xx)
6、曲线拟合
p = polyfit(x,y,N)
polyval也可以
7、多项式
(1)数值表示[1 2 3 4 5]:(x-1)(x-2)(x-3)(x-4)(x-5)
>> P = [1 2 3 4 5];
>> poly(P)
ans =
1 -15 85 -225 274 -120
(2)符号表示poly2sym(p,‘v’)
>> poly2sym(P)
ans =
x^4 + 2*x^3 + 3*x^2 + 4*x + 5
(3)求零点root
(4)求解多项式的值
polyval(p,a)求多项式p在a处的值
polyvalm(p,a)a为方阵
>> polyval(P,8)
ans =
5349
(5)四则运算
加+,减-
乘:conv(),除:deconv()
(6)微分
polyder( P )求P的微分
>> polyder(P)
ans =
4 6 6 4
(7)多项式的有理分式
residue(a,b):a分子,b分母
也可进行逆运算
>> a = 5*[1 3];
>> b = [1;2;3;4];
>> [r,p,k] = residue(a,b)
r =
1.4759 + 0.0000i
-0.7380 - 2.3203i
-0.7380 + 2.3203i
p =
-1.6506 + 0.0000i
-0.1747 + 1.5469i
-0.1747 - 1.5469i
k =
[]
r留数p极点k直接项