作业帮 > 综合 > 作业

matlab 多元非线性拟合 nlinfit y=a0*x1^a1*x2^a2*x3^a3*x4^a4

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/14 01:18:44
matlab 多元非线性拟合 nlinfit y=a0*x1^a1*x2^a2*x3^a3*x4^a4
x1=152.64 104.5\x05131.73\x05146.83\x05118.24\x0599.22
x2=286.08 485.68\x051164.48\x05506.17\x051195.93\x051545.75
x3=103.9\x05 101.82\x05101.47\x05104.77\x05105.9\x0599.32
x4=238033.47 276505.32 322134.37 379226.81 442136.63 559484.38
y=1500\x052000\x052400\x053200\x053500\x054700
两边取对数,
log(y)=log(a0)+a1*log(x1)+a2*log(x2)+a3*log(x3)+a4*log(x4)
这样就变成一个多元线性拟合问题了
x1=[152.64 104.5\x05131.73\x05146.83\x05118.24\x0599.22];
x2=[286.08 485.68\x051164.48\x05506.17\x051195.93\x051545.75];
x3=[103.9\x05 101.82\x05101.47\x05104.77\x05105.9\x0599.32];
x4=[238033.47 276505.32 322134.37 379226.81 442136.63 559484.38];
y=[1500\x052000\x052400\x053200\x053500\x054700];
A=[ones(6,1) log(x1)' log(x2)' log(x3)' log(x4)'];
c=A\log(y)';
a0=exp(c(1))
a1=c(2)
a2=c(3)
a3=c(4)
a4=c(5) .
a0 =
3.3727e-005
a1 =
0.0265
a2 =
-0.0193
a3 =
0.1990
a4 =
1.3517