Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2007-09-02
帖子: 2
声望力: 0 ![]() |
![]()
通过试验测得一组数据如下:
R=[36 38 40 44 46 46 47 47 48 51 124 124]; B=[26 29 29 34 42 39 36 48 37 41 126 120]; G=[36 40 42 41 52 54 49 49 46 55 124 125]; 请教:如何用最小二乘法或其他方法实现曲线拟合? 不慎感激! |
![]() |
![]() |
![]() |
#2 |
普通会员
注册日期: 2008-08-17
年龄: 36
帖子: 70
声望力: 20 ![]() ![]() |
![]()
可以做多元线性回归
把其中1个当作函数值,令两个为自变量,用regress拟合 如把R、B当作变量 代码:
R=[36 38 40 44 46 46 47 47 48 51 124 124]; B=[26 29 29 34 42 39 36 48 37 41 126 120]; G=[36 40 42 41 52 54 49 49 46 55 124 125]; [b,bint,r,rint,stats] = regress(G',[ones(12,1),R',B']); HTML 代码:
b = 5.9267 0.7047 0.2553 bint = -2.6554 14.5089 0.0543 1.3550 -0.3369 0.8474 r = -1.9321 -0.1072 0.4834 -4.6116 2.9369 5.7027 0.7638 -2.2994 -3.1961 2.6688 -1.4704 1.0612 rint = -8.9398 5.0756 -7.3413 7.1269 -6.6142 7.5810 -10.8276 1.6043 -3.5199 9.3936 0.0039 11.4015 -6.2976 7.8252 -6.6242 2.0254 -9.7984 3.4062 -4.2167 9.5543 -6.5207 3.5799 -4.0028 6.1252 stats = 0.9912 506.1621 0.0000 10.3208 G=5.9267+0.7047*R+0.2553*B R2 = 0.9912,F = 506.1621 |
![]() |
![]() |
![]() |
#3 |
普通会员
注册日期: 2008-08-17
年龄: 36
帖子: 70
声望力: 20 ![]() ![]() |
![]()
非线性回归可由命令nlinfit来实现,调用格式为
[beta,r,j] = nlinfit(x,y,'model’,beta0) |
![]() |
![]() |
![]() |
#4 |
初级会员
注册日期: 2008-08-25
年龄: 41
帖子: 8
声望力: 0 ![]() |
![]()
请问一下,这里拟合出来的公式是不是能随便用的啊?比如说我想得到R45、B45时的G值,是不是就能够用这个公式呢?
|
![]() |
![]() |
![]() |
#5 |
初级会员
注册日期: 2008-08-25
年龄: 41
帖子: 8
声望力: 0 ![]() |
![]()
这个R、G、B数值之间存在这样的线性关系吗?
|
![]() |
![]() |
![]() |
#6 |
初级会员
注册日期: 2008-10-12
年龄: 44
帖子: 24
声望力: 18 ![]() |
![]()
非线性的函数关系式怎么拟合啊?
|
![]() |
![]() |