急求助用matlab怎么拟合一个过原点的二次函数

x=[204.11,219.64,243.34,262.38,281.01,301.81,312.05,320.74,331.71,341.49,349.16,362.3... x=[204.11,219.64,243.34,262.38,281.01,301.81,312.05,320.74,331.71,341.49,349.16,362.35,379.08,401.24,420.91,430.99];
y=[64.33,69.17,71.18,75.72,78.55,81.52,82.57,82.20,81.23,77.37,73.13,69.74,60.59,46.27,23.04,2.98];
急需用matlab编一个简单的程序,使得y=ax*x+bx形式,最好是把拟合出来的函数的公式以及回归因子都给表达出来的,由于本人是刚学的但是作业又急着要交,求助万能的吧友!
展开
百川一归大海
2013-11-16 · TA获得超过1548个赞
知道小有建树答主
回答量:4318
采纳率:55%
帮助的人:1105万
展开全部
clc

clear
x=[204.11,219.64,243.34,262.38,281.01,301.81,312.05,320.74,331.71,341.49,349.16,362.35,379.08,401.24,420.91,430.99];
y=[64.33,69.17,71.18,75.72,78.55,81.52,82.57,82.20,81.23,77.37,73.13,69.74,60.59,46.27,23.04,2.98];
z=y./x;
[p,q]=polyfit(x,z,1)
a=p(1)
b=p(2)
追问
把这个图画出来的程序是神马啊?我怎么弄来弄去都不像啊都是一个一次函数的图像!能不能把整个程序补充完整!谢谢
追答
y=a*x^2+b*x两边同时除以x,y/x=a*x+b;令z=y/x接下来就是拟合(x,z)直线[p,q]=polyfit(x,z,1) 结果a=p(1) b=p(2);可以作图比较(你的数据不是很好,拟合结果不是很准确):
clc
clear
x=[204.11,219.64,243.34,262.38,281.01,301.81,312.05,320.74,331.71,341.49,349.16,362.35,379.08,401.24,420.91,430.99];
y=[64.33,69.17,71.18,75.72,78.55,81.52,82.57,82.20,81.23,77.37,73.13,69.74,60.59,46.27,23.04,2.98];
z=y./x;
[p,q]=polyfit(x,z,1)
a=p(1)
b=p(2)
plot(x,y,'r*')
hold on
ezplot([num2str(a),'*x^2+',num2str(b),'*x'],[min(x),max(x),min(y),max(y)])
legend('原始数据散点图','拟合后函数曲线图')
xlabel('x')
ylabel('y')

最后我想说你的数据拟合的二次函数未必是y=ax*x+bx,强行按照过原点的进行拟合真的不好,我认为是y=ax*x+bx+c形式(c不等于0)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
VSH艾羽
2025-09-30 广告
上海艾羽信息科技有限公司是一家以CAE软件销售、技术咨询及服务,仿真咨询及规划布局为一体的高科技公司。作为ANSYS的合作伙伴,艾羽致力于将ANSYS推出的产品,通过业界性能颇佳、丰富的工程仿真软件产品组合帮助客户解决复杂的仿真难题。力求与... 点击进入详情页
本回答由VSH艾羽提供
真greatdju
2013-11-17 · TA获得超过3856个赞
知道小有建树答主
回答量:1300
采纳率:91%
帮助的人:860万
展开全部
人家不是已经把a和b都给出来了吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式