线性函数求根、k次多项式拟合
% 2020.9.7
%% 线性函数求根、k次多项式拟合
% & 函数零点的指令
% x = roots(p) 多项式p的根,实根复根都可以求
% y=polyval(p,x) 求多项式p(x)的值,x可以写多个值
% p = polyfit(x,y,k) 用k次多项式拟合(x,y),返回多项式的降幂系数[]
% p = conv = (p1,p2) 返回多项式p1,p2的乘积
% [quotient,remainder]=deconv(p1,p2) 求p1除以p2,返回 [商,余数]
% 求x^3+2x^2-5的根
p = [1,2,0,-5];
x = roots(p)
y = polyval(p,x) % 注意结果中的10^-14次方,已经很接近0了
% 用2次多项式拟合数据
x = [0.1,0.2,0.15,0,-0.2,0.3];
y = [0.95,0.84,0.86,1.06,1.5,0.72];
pi = polyfit(x,y,2)
% 画图对比
figure(1)
xi = [-0.4:0.001:0.4];
yi = polyval(pi,xi);
plot(x,y,'o',xi,yi)
输出结果:
x =
-1.6209 + 1.1826i
-1.6209 - 1.1826i
1.2419 + 0.0000i
y =
1.0e-14 *
-0.8882 - 0.7994i
-0.8882 + 0.7994i
-0.2665 + 0.0000i
pi =
1.7432 -1.6959 1.0850