当前位置: 首页 > 计算模拟 >Origin模拟吸附曲线

Origin模拟吸附曲线

作者 houvhou
来源: 小木虫 300 6 举报帖子
+关注

我想做y = A1*exp(-x/t1) + A2*exp(-x/t2) + y0的拟合,但是Origin里面默认A1=A2,我想模拟出来A1+A2=1的数据,不知道怎么修改?下面是数据,求好心人帮忙
t       y
0        0
1        0.00636
2        0.01696
3        0.0318
4        0.05089
5        0.07633
6        0.11026
7        0.1569
8        0.20355
9        0.25656
10        0.31381
11        0.36681
12        0.42618
13        0.47283
14        0.5216
15        0.56612
16        0.60429
17        0.64245
18        0.67426
19        0.70606
20        0.73363
21        0.75695
22        0.78027
23        0.79511
24        0.8142
25        0.83116
26        0.846
27        0.85872
28        0.87066
29        0.88338
30        0.89611
31        0.90459
32        0.91519
33        0.92155
34        0.93003
35        0.93639
36        0.94275
37        0.94699
38        0.95123
39        0.95759
40        0.96183
41        0.96395
42        0.9682
43        0.97032
44        0.97244
45        0.97456
46        0.97668
47        0.9788
48        0.98092
49        0.98304
50        0.98516
51        0.98516
52        0.98728
53        0.9894
54        0.9894
55        0.9894
56        0.99152
57        0.99152
58        0.99364
59        0.99364
60        0.99364
61        0.99364
62        0.99576
63        0.99576
64        0.99576
65        0.99576
66        0.99576
67        0.99576
68        0.99788
69        0.99788
70        0.99788
71        0.99788
72        0.99788
73        0.99788
74        0.99788
75        0.99788
76        0.99788
77        0.99788
78        0.99788
79        0.99788
80        1
81        1
82        1
83        1
84        1
85        1
86        1
87        1
88        1
89        1
90        1
91        1
92        1
93        1
94        1
95        1
96        1
97        1
98        1
99        1
100        1
101        1
102        1
103        1
104        1
105        1
106        1
107        1
108        1
109        1
110        1
111        1
112        1
113        1
114        1
115        1
116        1
117        1
118        1
119        1
120        1
121        1
122        1
123        1
124        1
125        1
126        1
127        1
128        1
129        1
130        1
131        1
132        1
133        1
134        1
135        1
136        1
137        1
138        1
139        1
140        1
141        1
142        1
143        1
144        1
145        1
146        1
147        1
148        1
149        1
150        1
151        1
152        1
153        1
154        1
155        1
156        1
157        1
158        1
159        1
160        1
161        1 返回小木虫查看更多

今日热帖
  • 精华评论
  • dingd

    令:A2=1-A1带入原公式替换掉A2就可以了。

  • houvhou

    引用回帖:
    2楼: Originally posted by dingd at 2017-04-12 17:22:34
    令:A2=1-A1带入原公式替换掉A2就可以了。

    int sign;
    t1 = get_exponent(x_data, y_data, &y0, &A1, &sign);
    t1 = t2 = -1 / t1;
    A1 = A2  = sign * exp(A1) / 2;
    这个是Origin中的parameter initialization
    直接更改 A1+A2=1 后
    Fit did not converge - Parameter(s) y0,A1,t1,A2,t2 are not properly initialized. Please check and correct their values.

  • 月只蓝

    搞不懂你的数据跟方程是怎么对应的。
    方程y = A1*exp(-x/t1) + A2*exp(-x/t2) + y0中,有变量t1,t2,y,方程中只有t,y;此外,方程中的y0,这是常数,还是要拟合出来的,如果是常数,数值多少?也不说清楚。缺失这么多信息,别人无法解决你的问题。
    你要求A1+A2=1,这是很简单就能解决的问题,2楼的大神已经给出了最佳答案。

  • drk123

    数学不好,重修数学

  • dingd

    估计1#数据的t应该是x,Origin要给初值,不好猜,1stOpt求解:

    CODE:
    ConstStr a2=1-a1;
    Function y = A1*exp(-x/t1) + A2*exp(-x/t2) + y0;
    Data;
    x       y
    0        0
    1        0.00636
    2        0.01696
    3        0.0318
    4        0.05089
    5        0.07633
    6        0.11026
    7        0.1569
    8        0.20355
    ....

    均方差(RMSE): 0.0302020640542206
    残差平方和(SSE): 0.14777067704791
    相关系数(R): 0.992102379064375
    相关系数之平方(R^2): 0.984267130545193
    修正R平方(Adj. R^2): 0.984069232816202
    确定系数(DC): 0.984267130536005
    卡方系数(Chi-Square): -0.285922164200989
    F统计(F-Statistic): 3294.90978023188

    参数        最佳估算
    ----------        -------------
    a1        -1.2361662974913
    t1        15.7993198076496
    t2        4963.93454135114
    y0        -1.17934032624205

  • houvhou

    引用回帖:
    4楼: Originally posted by 月只蓝 at 2017-04-13 10:09:43
    搞不懂你的数据跟方程是怎么对应的。
    方程y = A1*exp(-x/t1) + A2*exp(-x/t2) + y0中,有变量t1,t2,y,方程中只有t,y;此外,方程中的y0,这是常数,还是要拟合出来的,如果是常数,数值多少?也不说清楚。缺失 ...

    实在不好意思,问题没有说清楚,给出的数据是X,Y的值,现在想求算出y0,A1,A2,t1,t2,的值
    二楼大神确实给出了解决的思路,但在具体执行过程中,Origin中拟合修改参数A1+A2=1,变成输入之后显示的错误
    所以想知道具体应该如何编辑

猜你喜欢