请用MATLAB拟合三元三次多项式F(x,y,z)=a0+a1*x+a2*x^2+a3*x^3+a4*y+a5*y^2+a6*y^3+a7*z+a8*z^2+a9*z^3

x=[45 40 30 25 25 25 25 18 18 10 10];
y=[45 35 45 35 25 45 25 25 45 35];
z=[2.81 3.31 3.50 5.02 7.05 8.43 9.77 6.74 9.88 4.53];
F=[7.4375 5.6563 3.2500 2.6875 2.4688 2.2188 2.0313 2.5313 1.9375 3.2188]
拟合成上面形式的曲线,并确定a0等10个系数的值。
小弟实在不知怎么拟合,所以诚请赐教,非常感谢!

我拟合了一下,好像有问题。。你自己看着办吧。
建一个m文件:
function f=logisfun(a,x)
f=a(10)+a(1).*x(:,1)+a(2).*x(:,1).^2+a(3).*x(:,1).^3+a(4).*x(:,2)+a(5).*x(:,2).^2+a(6).*x(:,2).^3+a(7).*x(:,3)+a(8).*x(:,3).^2+a(9).*x(:,3).^3;
另一个m文件:
x=[45.0000 45.0000 2.8100
40.0000 35.0000 3.3100
30.0000 45.0000 3.5000
25.0000 35.0000 5.0200
25.0000 25.0000 7.0500
25.0000 45.0000 8.4300
25.0000 25.0000 9.7700
18.0000 25.0000 6.7400
18.0000 45.0000 9.8800
10.0000 35.0000 4.5300];
Y=[7.4375 5.6563 3.2500 2.6875 2.4688 2.2188 2.0313 2.5313 1.9375 3.2188]';
a0=zeros(1,10);
[a,R,J]=nlinfit(x,Y,'logisfun',a0)
得到答案:
a =

0.0459 -0.0065 0.0002 0.0971 0.0001 -0.0000 -3.2566 0.4763 -0.0229 8.1256

R =

-0.0253
0.0482
0.0015
-0.0289
0.0201
-0.0240
-0.0454
0.0254
0.0479
-0.0193

J =

1.0e+004 *

0.0045 0.2025 9.1125 0.0045 0.2025 9.1125 0.0003 0.0008 0.0022 0.0001
0.0040 0.1600 6.4000 0.0035 0.1225 4.2875 0.0003 0.0011 0.0036 0.0001
0.0030 0.0900 2.7000 0.0045 0.2025 9.1125 0.0004 0.0012 0.0043 0.0001
0.0025 0.0625 1.5625 0.0035 0.1225 4.2875 0.0005 0.0025 0.0127 0.0001
0.0025 0.0625 1.5625 0.0025 0.0625 1.5625 0.0007 0.0050 0.0350 0.0001
0.0025 0.0625 1.5625 0.0045 0.2025 9.1125 0.0008 0.0071 0.0599 0.0001
0.0025 0.0625 1.5625 0.0025 0.0625 1.5625 0.0010 0.0095 0.0933 0.0001
0.0018 0.0324 0.5832 0.0025 0.0625 1.5625 0.0007 0.0045 0.0306 0.0001
0.0018 0.0324 0.5832 0.0045 0.2025 9.1125 0.0010 0.0098 0.0964 0.0001
0.0010 0.0100 0.1000 0.0035 0.1225 4.2875 0.0005 0.0021 0.0093 0.0001
好像有问题,我也不知道了追问

很感谢了。我再好好想想!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-26
你的问题看来是没有办法处理了,X有11个,Y、Z、F有10个,不知道你的X用那几个数呢??本回答被提问者采纳