关于Matlab多元非线性拟合的一个问题

来源:百度知道 编辑:UC知道 时间:2024/06/09 13:05:50
需要拟合的函数
y=(a4*x1*x2*x3-a5*x4)*x5/(1+(a0*x1)^0.5+a1*x2+a2*x3+a3*x4)^2
实验数据
x1=[0.03274,0.03274,0.03274,0.03556,0.03556,0.03556,0.03556,0.0388,0.0388,0.0388,0.02963,0.02963,0.02963,0.02963,0.03852,0.03852,0.03852,0.0237,0.0237,0.0237,0.04741,0.04741,0.04741,0.04741,0.05333,0.05333,0.05333,0.05333,0.03556,0.03556,0.03556,0.03556,0.03556,0.03556,0.03556]';
x2=[0.05686,0.05686,0.05686,0.05912,0.05912,0.05912,0.05912,0.06128,0.06128,0.06128,0.04926,0.04926,0.04926,0.04926,0.06404,0.06404,0.06404,0.07882,0.07882,0.07882,0.03941,0.03941,0.03941,0.03941,0.02956,0.02956,0.02956,0.02956,0.05912,0.05912,0.05912,0.05912,0.05912,0.05912,0.05912]';
x3=[3.32,2.986,2.831,3.169,2.602,2.133,1.708,2.526,2.012,1.684,3.164,2.668,2.26,1.878,2.611,2.002,1.65,2.637,2.249,1.981,2.64,2.036,1.697,1.504,2.839,2.372,1.99,1.819,3.137,2.58,2.128,2.76,2.307,1.97,1.677]';
x4=[0.134,0.576,0.777,0.702,1.16,1.771,2.225,1.176,1.772,2.096,0.492,0.977,1.453,2.058,1.106,1.86,2.276,0.9

只要a的初始值合适,下面的程序可完成。

function hha
x1=[0.03274,0.03274,0.03274,0.03556,0.03556,0.03556,0.03556,0.0388,0.0388,0.0388,0.02963,0.02963,0.02963,0.02963,0.03852,0.03852,0.03852,0.0237,0.0237,0.0237,0.04741,0.04741,0.04741,0.04741,0.05333,0.05333,0.05333,0.05333,0.03556,0.03556,0.03556,0.03556,0.03556,0.03556,0.03556]';
x2=[0.05686,0.05686,0.05686,0.05912,0.05912,0.05912,0.05912,0.06128,0.06128,0.06128,0.04926,0.04926,0.04926,0.04926,0.06404,0.06404,0.06404,0.07882,0.07882,0.07882,0.03941,0.03941,0.03941,0.03941,0.02956,0.02956,0.02956,0.02956,0.05912,0.05912,0.05912,0.05912,0.05912,0.05912,0.05912]';
x3=[3.32,2.986,2.831,3.169,2.602,2.133,1.708,2.526,2.012,1.684,3.164,2.668,2.26,1.878,2.611,2.002,1.65,2.637,2.249,1.981,2.64,2.036,1.697,1.504,2.839,2.372,1.99,1.819,3.137,2.58,2.128,2.76,2.307,1.97,1.677]';
x4=[0.134,0.576,0.777,0.702,1.16,1.771,2.225,1.176,1.772,2.096,0.492,0.977,1.453,2.058,1.106,1.86,2.276,0.984,1.527,1.917,0.899,1.699,2.07,2.