50分悬赏求matlab高手给回归一个曲线,会者不难.2 2.2 5 3.5 8 3.9 12 5.2 15 6.5 17 5.7 19 5.7 21 6.1 27 6.1 43 5.7前面是x坐标,后面是y坐标求回归曲线和渐近线
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/24 13:42:15
50分悬赏求matlab高手给回归一个曲线,会者不难.2 2.2 5 3.5 8 3.9 12 5.2 15 6.5 17 5.7 19 5.7 21 6.1 27 6.1 43 5.7前面是x坐标,后面是y坐标求回归曲线和渐近线
50分悬赏求matlab高手给回归一个曲线,会者不难.
2 2.2
5 3.5
8 3.9
12 5.2
15 6.5
17 5.7
19 5.7
21 6.1
27 6.1
43 5.7
前面是x坐标,后面是y坐标
求回归曲线和渐近线
50分悬赏求matlab高手给回归一个曲线,会者不难.2 2.2 5 3.5 8 3.9 12 5.2 15 6.5 17 5.7 19 5.7 21 6.1 27 6.1 43 5.7前面是x坐标,后面是y坐标求回归曲线和渐近线
clc;clear
A=[...
2 2.2
5 3.5
8 3.9
12 5.2
15 6.5
17 5.7
19 5.7
21 6.1
27 6.1
43 5.7];
x=A(:,1); y=A(:,2);
fx=inline(' 1./(a(1)+a(2).*exp(-a(3).*x))','a','x')
a=nlinfit(x,y,fx,[1 1 1])
xx=0:50;
yy=1./(a(1)+a(2)*exp(-a(3)*xx));
[xx;yy]'
plot(x,y,'o',xx,yy)
结果:
fx =
Inline function:
fx(a,x) = 1./(a(1)+a(2).*exp(-a(3).*x))
a =
0.1652
0.4977
0.2553
ans =
0 1.5084
1.0000 1.8155
2.0000 2.1555
3.0000 2.5212
4.0000 2.9028
5.0000 3.2884
6.0000 3.6655
7.0000 4.0230
8.0000 4.3517
9.0000 4.6458
10.0000 4.9025
11.0000 5.1218
12.0000 5.3055
13.0000 5.4572
14.0000 5.5809
15.0000 5.6806
16.0000 5.7603
17.0000 5.8236
18.0000 5.8736
19.0000 5.9129
20.0000 5.9438
21.0000 5.9679
22.0000 5.9867
23.0000 6.0013
24.0000 6.0127
25.0000 6.0216
26.0000 6.0285
27.0000 6.0338
28.0000 6.0380
29.0000 6.0412
30.0000 6.0437
31.0000 6.0456
32.0000 6.0471
33.0000 6.0483
34.0000 6.0492
35.0000 6.0499
36.0000 6.0504
37.0000 6.0508
38.0000 6.0512
39.0000 6.0514
40.0000 6.0516
41.0000 6.0518
42.0000 6.0519
43.0000 6.0520
44.0000 6.0520
45.0000 6.0521
46.0000 6.0521
47.0000 6.0522
48.0000 6.0522
49.0000 6.0522
50.0000 6.0522
它的曲线与exp(-t^2/2)*sin(t^2)相似,自己拟合吧。
超难
由于你没有给定数据的模型,所以我选择了多项式拟合。因为多项式对任意数据的拟合效果都比较令人满意。此外,对于没有模型的数据最好采用神经网络来做。我这里就不烦了。直接copy下面的程序到matlab里运行就OK了。
A=[...
2 2.2
5 3.5
8 3.9
12 5.2
15 6.5
17 5.7
19 5.7
21 6....
全部展开
由于你没有给定数据的模型,所以我选择了多项式拟合。因为多项式对任意数据的拟合效果都比较令人满意。此外,对于没有模型的数据最好采用神经网络来做。我这里就不烦了。直接copy下面的程序到matlab里运行就OK了。
A=[...
2 2.2
5 3.5
8 3.9
12 5.2
15 6.5
17 5.7
19 5.7
21 6.1
27 6.1
43 5.7];
t=2:0.01:43;
a=polyfit(A(:,1),A(:,2),3);
y=polyval(a,t);
plot(t,y,A(:,1),A(:,2),'*')
legend('拟合曲线','原数据点')
disp('拟合方程为: y=')
disp(poly2str(a,'x'))
结果:
拟合方程为: y=
0.00018821 x^3 - 0.017953 x^2 + 0.52958 x + 1.1555
收起