如题,怎么用matlab进行非线性的多元函数拟合?
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/06 04:10:31
如题,怎么用matlab进行非线性的多元函数拟合?
例如:
因变量y 自变量 X1 X2 X3 X4
1658 111 717 153 25319
1797 122 826 184 37829
1850 137 958 206 42232
2205 146 1004 247 56584
可以拟合为线性y=a*x1+b*x2+c*x3+d*x4的形式以及非线性的形式.
不知道matlab里面有没有函数可以拟合上面的函数,
分别第一列是y的值,第二列示x1的值,第三列示x2的值,第四列示x3的值,最后一列是x4的值.
例如:
因变量y 自变量 X1 X2 X3 X4
1658 111 717 153 25319
1797 122 826 184 37829
1850 137 958 206 42232
2205 146 1004 247 56584
可以拟合为线性y=a*x1+b*x2+c*x3+d*x4的形式以及非线性的形式.
不知道matlab里面有没有函数可以拟合上面的函数,
分别第一列是y的值,第二列示x1的值,第三列示x2的值,第四列示x3的值,最后一列是x4的值.
用regress函数,线性回归
A=[1658 111 717 153 25319
1797 122 826 184 37829
1850 137 958 206 42232
2205 146 1004 247 56584]
y=A(:,1),x=A(:,2:5)
B= REGRESS(y,x)
a=B(1),b=B(2),c=B(3),d=B(4)
结果:
A =
1658 111 717 153 25319
1797 122 826 184 37829
1850 137 958 206 42232
2205 146 1004 247 56584
y =
1658
1797
1850
2205
x =
111 717 153 25319
122 826 184 37829
137 958 206 42232
146 1004 247 56584
B =
53.3747
-5.4253
-7.3846
0.0297
a =
53.3747
b =
-5.4253
c =
-7.3846
d =
0.0297
检验
Y=x*B
Y =
1.0e+003 *
1.6580
1.7970
1.8500
2.2050
相关系数等于1,线性回归非常成功
A=[1658 111 717 153 25319
1797 122 826 184 37829
1850 137 958 206 42232
2205 146 1004 247 56584]
y=A(:,1),x=A(:,2:5)
B= REGRESS(y,x)
a=B(1),b=B(2),c=B(3),d=B(4)
结果:
A =
1658 111 717 153 25319
1797 122 826 184 37829
1850 137 958 206 42232
2205 146 1004 247 56584
y =
1658
1797
1850
2205
x =
111 717 153 25319
122 826 184 37829
137 958 206 42232
146 1004 247 56584
B =
53.3747
-5.4253
-7.3846
0.0297
a =
53.3747
b =
-5.4253
c =
-7.3846
d =
0.0297
检验
Y=x*B
Y =
1.0e+003 *
1.6580
1.7970
1.8500
2.2050
相关系数等于1,线性回归非常成功