数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 2340|回复: 1

sos matlab 中的大问题

[复制链接]
发表于 2004-2-5 19:43:15 | 显示全部楼层 |阅读模式
我的matlab  有个问题 请大家帮个忙吧
是一个关于  拟合的
命令如下
t=[0 0.3 0.8 1.1 1.6 2.3];
y=[0.82 0.72 0.63 0.60 0.55 0.50];
E=[ones(size(t)) exp(-t)]
c=E\y
书上说 运行结果是 c=0.4760
                              0.3413  
而我的却是c =

    0.8200    0.7200    0.6300    0.6000    0.5500    0.5000
         0         0         0         0         0         0
         0         0         0         0         0         0
         0         0         0         0         0         0
         0         0         0         0         0         0
         0         0         0         0         0         0
         0         0         0         0         0         0
         0         0         0         0         0         0
         0         0         0         0         0         0
         0         0         0         0         0         0
         0         0         0         0         0         0
         0         0         0         0         0         0
为什么 不一样呢?  
我用的是 matlab 6.5的
thanks !!!!
发表于 2004-2-9 21:32:40 | 显示全部楼层
估计你的意思是要进行指数拟合
其拟合方程为
y=c2 *exp(-t) +c1;

要得到那个结果可以采用如下的程序代码:

>> t=[0 0.3 0.8 1.1 1.6 2.3];
>> y=[0.82 0.72 0.63 0.60 0.55 0.50];
>> E=[ones(size(t));exp(-t)];
>> C=y/E
C =

    0.4760    0.3413

至于为什么这样,可以结合线性代数的矩阵运算理解

最后的拟合方程好像是:
y=0.3413*exp( -t) +0.4760;




您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-30 13:36 , Processed in 0.049174 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表