24小时热门版块排行榜    

查看: 2457  |  回复: 6
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

houvhou

银虫 (小有名气)

[求助] Origin模拟吸附曲线已有1人参与

我想做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
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

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,变成输入之后显示的错误
所以想知道具体应该如何编辑
7楼2017-04-13 17:21:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
令:A2=1-A1带入原公式替换掉A2就可以了。
2楼2017-04-12 17:22:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

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.
3楼2017-04-12 19:24:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

搞不懂你的数据跟方程是怎么对应的。
方程y = A1*exp(-x/t1) + A2*exp(-x/t2) + y0中,有变量t1,t2,y,方程中只有t,y;此外,方程中的y0,这是常数,还是要拟合出来的,如果是常数,数值多少?也不说清楚。缺失这么多信息,别人无法解决你的问题。
你要求A1+A2=1,这是很简单就能解决的问题,2楼的大神已经给出了最佳答案。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
4楼2017-04-13 10:09:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见