作业帮 > 综合 > 作业

怎么用一直数据进行matlab二元二次函数拟合

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/10 11:24:02
怎么用一直数据进行matlab二元二次函数拟合
>> A=[0.08 0.00 0;0.08 0.01 0;0.08 0.02 0;0.08 0.03 0;0.08 0.04 0;0.08 0.05 0;0.08 0.06 825.033;0.08 0.07 250660;0.08 0.08 343379;0.08 0.09 342693;0.08 0.10 425817;0.08 0.11 572759;0.08 0.12 572565;0.08 0.13 567368;0.08 0.14 545491;0.08 0.15 541504;0.08 0.16 541632;0.08 0.17 559520;0.08 0.18 566870;0.08 0.19 566965;0.08 0.20 485341;0.08 0.21 334773;0.08 0.22 335178;0.08 0.23 285317;0.08 0.24 47941.7;0.08 0.25 0;0.08 0.26 0;0.08 0.27 0;0.08 0.28 0;0.08 0.29 0;0.08 0.30 0;0.09 0.00 0;0.09 0.01 0;0.09 0.02 0;0.09 0.03 0;0.09 0.04 0;0.09 0.05 0;0.09 0.06 1337.64;0.09 0.07 350045;0.09 0.08 482099;0.09 0.09 481473;0.09 0.10 525827;0.09 0.11 607711;0.09 0.12 607557;0.09 0.13 599059;0.09 0.14 561797;0.09 0.15 554831;0.09 0.16 554918;0.09 0.17 577049;0.09 0.18 586089;0.09 0.19 586107;0.09 0.20 540176;0.09 0.21 454426;0.09 0.22 455076;0.09 0.23 387710;0.09 0.24 66253.4;0.09 0.25 0;0.09 0.26 0;0.09 0.27 0;0.09 0.28 0;0.09 0.29 0;0.09 0.30 0];
>> x=A(:,1);
>>y=A(:,2);
>> z=A(:,3);
怎么拟合2元2次方程啊,一部分数据
设拟合的2元2次方程为
f(x,y)=b1*x²+b2*x*y+b3*y²+b4*x+b5*y+b6
用Matlab的regress()函数拟合,也可以用自定义函数拟合.regress()函数命令格式为
[B,BINT,R,RINT,STATS] = REGRESS(Y,X)
B——参数估计值,拟合函数系数
BINT——B的置信区间
R——残差向量,测试值与拟合值的差值
RINT——R的置信区间
STATS——检验统计量,置信度、F统计量,p值
Y——因变量观察值
X——自变量观察值
根据提供的数据,通过拟合得
B1 =0
B2 =-1734024.851
B3 =-31661318.71
B4 =3785724.073
B5 =9670754.012
B6 =-512586.098
再问: 谢谢,regress函数我会,但是拟合的结果不是很好,我主要是想咨询一下自设函数的方法,就是先设fun函数格式,beta,的方法。
再答: nlinfit函数,lsqcurvefit函数的拟合程度与regress函数相比,几乎相近。R² =0.7930(相关系数) 利用最小二乘法原理,进行拟合计算得拟合函数的系数 b1=-71303168.0, b2=-1734024.851,b3=-31661318.71,b4=14680064.0,b5=9670754.012,b6=-917504.0 R² =0.910634(相关系数)
再问: 能不能拟合成这种形式的,就是双曲抛物面的形式? z=b1*(x-b2)²-b3*(y-b4)²+b5求出来b
再答: 按此方程z=b1*(x-b2)²-b3*(y-b4)²+b5拟合,也只有 R² =0.7930(相关系数) b1=17661876.65,b2= -0.01480876937, b3=31661318.71, b4=0.1503942711, b5=348944.5229] R2 = 0.7930
再问: 谢谢啊,能不能指导一下这个方法的程序是什么?我想学一下这个。