matlab中怎样用幂函数拟合方程

来源:百度知道 编辑:UC知道 时间:2024/06/08 15:41:01
我有一组数据横坐标为1 2 3 4 5 6 6.67 7.5 8.57 10 15 20 25 28.57 33.33 40 50 66.67 100
纵坐标为50.65 40.57 34.79 31.25 28.62 26.67 25.68 24.53 22.95 21.2 16.19 13.21 11.35 10.27 9.04 7.68 6.23 4.73 3.2
通过plot画图,感觉可以用幂函数拟合,请问怎样拟合,最好能给出程序
谢谢!

x=[1 2 3 4 5 6 6.67 7.5 8.57 10 15 20 25 28.57 33.33 40 50 66.67 100];
y=[50.65 40.57 34.79 31.25 28.62 26.67 25.68 24.53 22.95 21.2 16.19 13.21 11.35 10.27 9.04 7.68 6.23 4.73 3.2];
n=4; %这里进行四次幂函数,一般用二次的,可以改成2
p=polyfit(x, y, n);
xi=linspace(0, 100, 10000);
z=polyval(p, xi);
plot(x, y, ' +b ' , x, y,'r', xi, z, ' :g ' )