![]() |
求助 利用MATLAB画函数图的问题。
利用x=[12,14,16,18];y=[132.291,113.019,90.259,70.757];这些数据建立二次函数图,本人写的函数程序:
polyfit[x,y,n]; x=[12,14,16,18]; y=[132.291,113.019,90.259,70.757]; n=[a*x^2+b*x+c];(此为二次函数式) 按上面的程序不能运行,恳请高手帮助。 另,有高手写如下程序: x=[12,14,16,18]; y=[0.000630,0.000538,0.000430,0.000341]; p=polyfit(x,y,2) x1=12:0.5:18; y1=polyval(p,x1); plot(x,y,'*b',x1,y1,'-r'); %legend('拟合前','拟合后图像') 可出来的二次函数图近乎于一条直线,想请哪位高手帮助,出来的图形像二次曲线!谢谢:confused: |
回复: 求助 利用MATLAB画函数图的问题。
呵呵,问题在于你根本就没有进行拟合, 还有原始数据太少,只有四个,如果在一个小范围内的话,就是直线,换个大范围看看,我编代码如下,你看看
x=[12,14,16,18]; y=[0.000630,0.000538,0.000430,0.000341]; p=polyfit(x,y,2); a=p(1); b=p(2); c=p(3); x1=linspace(1,200); y1=a*(x1.^2)+b*x1+c; plot(x,y,'*',x1,y1); legend('拟合前','拟合后图像') ; |
所有时间均为北京时间。现在的时间是 03:17。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.