Advertisement

MATLAB多项式拟合

阅读量:

多项式均表示为数组形式,数组元素为多项式降幂系数

1. polyval函数

求多项式在某一点或某几个点的值.

p = [1,1,1];%x^2+x+1

x = [-1,0,1];y = polyval(p,x);

另外求函数在某一点或某几个点的值可以用函数feval.

x = [-1,0,1];

y = feval(@(x)exp(x),x);%注意用的乘法和乘法都改用.运算符

2. roots函数

求多项式的零点.

p = [1,-3,2,0];x0 = roots(p);

3. polyfit函数

用多项式拟合一组数据,返回多项式降幂系数.

xa = [0.1 0.2 0.15 0 -0.2 0.3];ya = [0.950.84 0.86 1.06 1.50 0.72];p = polyfit(xa,ya,3);

上述代码是对xa和ya进行2次多项式拟合.

如何找到最佳的拟合次数?

误差定义上存在多种方法用于评估模型性能。为了找到最优解,在不同阶次的多项式模型中选择一个能够最小化预测误差的方法较为合理。具体实现中使用数组xa和ya作为数据集时,默认情况下会生成多个模型供选择。我们依次测试了多项式的阶数从一阶到四阶,并观察每种情况下的预测效果如何

xa = [0.1 0.2 0.15 0 -0.2 0.3 -0.1 ];
ya = [

全部评论 (0)

还没有任何评论哟~