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],
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是指第几组数的意思吧
追问嗯,就是想加个变量,算是一个限制条件吧,方程还是这个一元的函数,出来的拟合曲线不满足实际需要。
追答不能再加z了,要么就不是你所求的东西了
追问这条曲线不满足要求,实际问题是这样的,要不断改变条件,要不我假设一个H,得到的G不知道是Z等于多少的情况下的事数据···还是谢谢你了