怎么用MATLAB拟合非线性多元函数?
例如X1={0,0,0,0,0,0,0,111,227,441,668,882,1000,970,786,496,296,120,2,0}X2={0,0,0,0,0,91...
例如X1={0,0,0,0,0,0,0,111,227,441,668,882,1000,970,786,496,296,120,2,0}
X2={0,0,0,0,0,91,207,430,611,869,1000,955,689,461,243,40,0,0,0,0,0}
X3={0,0,48,144,355,536,724,956,1000,930,753,558,333,213,111,17,0,0,0,0}
X4={0,84,261,434,760,940,1000,910,750,477,283,136,0,0,0,0,0,0,0,0}
X5={0,0,0,0,0,0,0,0,0,0,0,47,120,110,57,0,0,0,0,0}
x6={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
Y={45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140}
其中X1、X2、X3、X4、X5、X6为自变量Y为因变量,不知道能不能拟合为线性Y=a*X1+b*X2+c*X3+d*X4+e*X5+f*X6的形式以及非线性的形式。
不知道matlab里面有没有函数可以拟合上面的函数,拜托高手赐教!
请以我给出的这七组数据拟合出Y=a*X1+b*X2+c*X3+d*X4+e*X5+f*X6+e这个函数,谢谢 展开
X2={0,0,0,0,0,91,207,430,611,869,1000,955,689,461,243,40,0,0,0,0,0}
X3={0,0,48,144,355,536,724,956,1000,930,753,558,333,213,111,17,0,0,0,0}
X4={0,84,261,434,760,940,1000,910,750,477,283,136,0,0,0,0,0,0,0,0}
X5={0,0,0,0,0,0,0,0,0,0,0,47,120,110,57,0,0,0,0,0}
x6={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
Y={45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140}
其中X1、X2、X3、X4、X5、X6为自变量Y为因变量,不知道能不能拟合为线性Y=a*X1+b*X2+c*X3+d*X4+e*X5+f*X6的形式以及非线性的形式。
不知道matlab里面有没有函数可以拟合上面的函数,拜托高手赐教!
请以我给出的这七组数据拟合出Y=a*X1+b*X2+c*X3+d*X4+e*X5+f*X6+e这个函数,谢谢 展开
2个回答
展开全部
用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,线性回归非常成功
这样可以么?
追问
这条我也搜到了,但不会用哦,能不能以我的七组数据拟合一下给我看看呢?
展开全部
程序是A=[0 0 0 0 0 0 45
0 0 0 84 0 0 50
0 0 48 261 0 0 55
0 0 144 434 0 0 60
0 0 355 760 0 0 65
0 91 536 940 0 0 70
0 207 724 1000 0 0 75
111 430 956 910 0 0 80
227 611 1000 750 0 0 85
441 869 930 477 0 0 90
668 1000 753 283 0 0 95
882 955 558 136 47 0 100
1000 689 333 0 120 0 105
970 461 213 0 110 0 110
786 243 111 0 57 0 115
496 40 17 0 0 0 120
296 0 0 0 0 0 125
120 0 0 0 0 0 130
2 0 0 0 0 0 135
0 0 0 0 0 0 140];
y=A(:,7),x=A(:,1:6);
B= REGRESS(y,x)
a=B(1),b=B(2),c=B(3),d=B(4),e=B(5),f=B(6)
得结果
B =
0.2935
-0.1263
0.0126
0.0965
-1.0472
0
0 0 0 84 0 0 50
0 0 48 261 0 0 55
0 0 144 434 0 0 60
0 0 355 760 0 0 65
0 91 536 940 0 0 70
0 207 724 1000 0 0 75
111 430 956 910 0 0 80
227 611 1000 750 0 0 85
441 869 930 477 0 0 90
668 1000 753 283 0 0 95
882 955 558 136 47 0 100
1000 689 333 0 120 0 105
970 461 213 0 110 0 110
786 243 111 0 57 0 115
496 40 17 0 0 0 120
296 0 0 0 0 0 125
120 0 0 0 0 0 130
2 0 0 0 0 0 135
0 0 0 0 0 0 140];
y=A(:,7),x=A(:,1:6);
B= REGRESS(y,x)
a=B(1),b=B(2),c=B(3),d=B(4),e=B(5),f=B(6)
得结果
B =
0.2935
-0.1263
0.0126
0.0965
-1.0472
0
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询