Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-05-25, 20:35   #1
103050
初级会员
 
注册日期: 2009-05-25
年龄: 41
帖子: 5
声望力: 0
103050 正向着好的方向发展
生气 求助 利用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('拟合前','拟合后图像')
可出来的二次函数图近乎于一条直线,想请哪位高手帮助,出来的图形像二次曲线!谢谢
103050 当前离线   回复时引用此帖
旧 2009-05-25, 23:15   #2
麒麟子
普通会员
 
注册日期: 2009-03-25
年龄: 37
帖子: 52
声望力: 18
麒麟子 正向着好的方向发展
默认 回复: 求助 利用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('拟合前','拟合后图像') ;
__________________
:水榭焚香听琴事,浪荡江湖不系舟:
感谢请点thanks
麒麟子 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 22:29


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.