4.1(非)线性函数求根、非线性方程组

线性函数求根、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

猜你喜欢

转载自blog.csdn.net/qq_43328166/article/details/108549003