Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
 
 
主题工具 显示模式
旧 2008-10-08, 16:53   #5
veronicascut
初级会员
 
注册日期: 2008-08-10
年龄: 42
帖子: 4
声望力: 0
veronicascut 正向着好的方向发展
默认 回复: [求助]用nlinfit回归参数计算结果中的误差问题~~~

这个是我程序的第一个部分:

m = zeros(1);
x=[0.7219 0.0058 0.2723
0.7221 0.0049 0.2730
0.7134 0.0039 0.2827
0.7327 0.0029 0.2644
0.7244 0.0022 0.2734
0.7247 0.0010 0.2473];
for i=1:1:6
n(i)=(x(i,2)/853.92)/(x(i,1)/44.01+x(i,2)/853.92+x(i,3)/89.93);
end
n
n1 = (x(:,2)./853.92)./(x(:,1)./44.01+x(:,2)./853.92+x(:,3)./89.93);
t0 = [0 0 0 0 0 0];
zx = zeros(1);
%y = Obj(t0, zx)
[t,r]=nlinfit(x,n1,@Obj,t0)
t=t'

就是回归参数 t,这里面给了初值了。

这个里面 t 是另一个表达式 y 中的参数,
而上面程序里面的 n1 是实验值, y 是计算值。
也就是说,我要把 y 的值与这个程序里面的 n1 值用nlinfit函数运算之后拟合出参数 t
所以我后面还有一个很长的程序 Obj,是关于 t 和 y 的计算
那个程序Obj在上面调用了~

然后结果是这个样子的:

实验值:
n1 =

1.0e-003 *

0.3494
0.2950
0.2359
0.1733
0.1321
0.0609

计算值:
y =

1.0e-003 *

0.0001
0.0008
0.0029
0.0206
0.0261
0.1236

残差:
r =

1.0e-003 *

0.3493
0.2943
0.2330
0.1527
0.1060
-0.0627

我个人认为既然是拟合回归,那么 计算值y 和 实验值 n1 应该很接近吧。
但是实际结果却是 n1 值与 r值很接近……
y的值也很奇怪……

请指教一下 这个到底是怎么回事啊!!!

我刚刚开始学习matlab 还有很多基本的概念不懂 这个是不是我把什么理解错了???

非常感谢~~~
veronicascut 当前离线   回复时引用此帖
 

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
[资料]FFT结果的物理意义 wangzr97 MATLAB论坛 43 2010-04-08 18:57
[求助]对彩色图Y分量的提取,如何进行DCT变换如何加入水印 musecat MATLAB论坛 2 2009-01-04 13:56
[求助]自动生成Hankel矩阵的代码 youyoume MATLAB论坛 0 2008-11-13 21:29
[求助]MATLAB在运行窗口时遇到的奇怪问题! xianggui7895 MATLAB论坛 0 2008-10-13 15:05


所有时间均为北京时间。现在的时间是 16:30


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.