运用matlab进行曲线拟合,求出参数
H=a(0)+a(1)*G+a(2)*G^2+a(3)*G^3,已经知道五组数据,怎么拟合出来这个曲线,[H,G]=[17.4,15993.288],[21.98,138...
H = a(0 )+ a(1)* G + a(2)*G^2 + a(3) *G^3,已经知道五组数据,怎么拟合出来这个曲线,[H,G]=[17.4,15993.288],[21.98,13851],[26.0295,11637.46656],[28.86149,9794.567412],[30.737328,8352.9348],
展开
1个回答
展开全部
m程序为:
g=[15993.288 13851 11637.46656 9794.567412 8352.9348];
h=[17.4 21.98 26.0295 28.86149 30.737328];
p=polyfit(g,h,3);
p
g2=5000:1000:20000;
h2=polyval(p,g2);
plot(g,h,'o',g2,h2);
xlabel('g');
ylabel('h')
title('H = a(0 )+ a(1)* G + a(2)*G^2 + a(3) *G^3拟合曲线')
运行上面m文件得到结果如下:
p =
0.0000 -0.0000 0.0000 35.5845
也就是H= 35.5845*G^3
更多追问追答
追问
实在是太感谢了!!再麻烦问下:可不可以再加一个条件,就是z=1,,[H,G]=[17.4,15993.288];
z=2,[H,G]=[21.98,13851];
z=3,[H,G]=[26.0295,11637.46656];
z=4,[H,G]=[28.86149,9794.567412];
z=5,[H,G]=[30.737328,8352.9348],
谢谢了 ,必须要多给分的
追答
跟Z没关系啊。你要拟合的是二元函数。估计你的Z是指第几组数的意思吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询