登录论坛

查看完整版本 : [MATLAB数学相关] matlab曲线拟合


rainbowthink
2009-06-18, 10:25
各位高手 小弟有个问题急需解决,
以下是三个方程,X=(X0*Xm*exp(um*t))/(Xm-X0+X0*exp(um*t));
P=(x*X0*Xm*exp(um*(t-25)))/(Xm-X0+X0*exp(um*(t-25)));
S=S0-(X0*Xm*exp(um*t))/(Y*(Xm-X0+X0*exp(um*t)))+X0/Y-Xm*ms/um*ln((Xm-X0-X0*exp(um*t))/Xm);
已知数据:
t X P S
6 0.611 0.02444 10318.36
17 0.675 0.030375 8328.894
22 0.708 0.0354 6144.889
28 1.125 0.059625 4999.058
36 1.576 0.081952 4765.04
46 2.325 0.1395 4457.108
52 2.375 0.14725 4151.04
58 2.7 0.1701 3127.567
70 3.35 0.21775 1823.49
82 3.4456 0.3514512 1545.494
96 4.6 0.7222 1555.611
108 6.45 1.0836 635.9406
120 6.7 1.8559 309.0989
132 6.775 2.39835 59.9876
144 7.01 3.12646 54.7637
156 7.11 3.22794 53.4584



根据以上数据,拟合三个方程,求系数X0,Xm,um,x,S0,ms,Y

slgu
2009-06-18, 11:13
数据量太少了,能再多一点吗?

rainbowthink
2009-06-18, 11:36
您好,高手,我再修改一下,您看看

slgu
2009-06-18, 14:19
对于前两个问题,结果为:

fx1=b(1)*b(2)*exp(b(3)*x)./(b(2)-b(1)+b(1)*exp(b(3)*x));

SSy = 92.859
b =[0.47763211, 7.8235271, 0.034831922]
RSS = 1.697449365
MSe = 0.14145
R^2 = 0.98172

fx2=b(4)*b(1)*b(2)*exp(b(3)*(x-25))./(b(2)-b(1)+b(1)*exp(b(3)*(x-25)));

SSy = 19.657
b =[0.013595125, 3.3361276, 0.056854978, 1.1402108]
RSS = 0.07766445926
MSe = 0.0070604
R^2 = 0.99605

第3个问题
fx3=b(5)-(b(1)*b(2)*exp(b(3)*x))./(b(7)*(b(2)-b(1)+b(1)*exp(b(3)*x)))+b(1)/b(7)-b(2)*b(6)/b(3)*log((b(1)-b(2)-b(1)*exp(b(3)*x))/b(2));
的结果(时间关系,不及验证)似为:
b=[143.6218337, -0.1206944498, 0.004223585525, 5845.510552, 4567.540506, -102.7556157, 0.009232308418]

rainbowthink
2009-06-18, 17:12
十分感谢,能不能把程序给我看看啊?

在路上
2009-08-18, 17:15
化验结果的处理

人们到医院就诊时,通常要化验一些指标来协助医生的诊断。诊断就诊人员是否患肾炎时通常要化验人体内各种元素含量。表A1是确诊病例的化验结果,其中1-30号病例是已经确诊为肾炎病人的化验结果;31-60号病例是已经确定为健康人的结果。表A 2是就诊人员的化验结果。我们的问题是:

1. 根据表A1中的数据,提出一种或多种简便的判别方法,判别属于患者或健康人的方法,并检验你提出方法的正确性。

2. 按照1提出的方法,判断表A2中的30名就诊人员的化验结果进行判别,判定他(她)们是肾炎病人还是健康人。

3. 能否根据表A1的数据特征,确定哪些指标是影响人们患肾炎的关键或主要因素,以便减少化验的指标。

4. 根据3的结果,重复2的工作。

5. 对2和4的结果作进一步的分析。

表A1 确诊病例的化验结果

http://causxjm.blog.163.com/blog/static/92057385200971873838485/
这是表格的链接,我今天弄了一天,可是应为本人能力不够,不会用matlab算,但是非常想知道答案,楼主可以帮帮我的话,实在是不胜感激!
劳烦了

slgu
2009-08-19, 14:28
您的数据可将非病员的目标变数定为0,病员的目标变数定为1,将目标变数依其它测定指标为自变数作多元回归分析,将不显著的自变数(项)逐步剔除,得到回归关系,可以看出,这些自变数对目标变数的影响程度可以(大概)排列为:X4, X5, X3, 用X4*X5也有很好的判断效果。

小胡子
2009-08-19, 17:55
使用cftool工具,可以直接在界面上进行拟合,不需要编程!

在路上
2009-08-19, 20:59
可以说说具体的操作吗,我对cftool工具真的很不熟,上网查好像它只能用于一个变量,可是我这里有很多变量啊,请不吝赐教!