|
|
[求助]
使用matlab最優(yōu)化方法擬合獲得多個(gè)動(dòng)力學(xué)參數(shù)中的問(wèn)題 已有1人參與
各位師兄師姐,麻煩大家?guī)臀铱匆幌逻@個(gè)問(wèn)題。我現(xiàn)在想用一個(gè)模型來(lái)描述我的實(shí)驗(yàn)現(xiàn)象,模型如圖所示。
![\"使用matlab最優(yōu)化方法擬合獲得多個(gè)動(dòng)力學(xué)參數(shù)中的問(wèn)題\"]()
![使用matlab最優(yōu)化方法擬合獲得多個(gè)動(dòng)力學(xué)參數(shù)中的問(wèn)題-1]()
我通過(guò)實(shí)驗(yàn)有了x-t的實(shí)驗(yàn)數(shù)據(jù),如下圖所示,我現(xiàn)在想用matlab的fmincon函數(shù)求解模型中的ks和Dp(Dp含在參數(shù)beita里面)兩個(gè)參數(shù),我的程序大概步驟是:首先假設(shè)兩個(gè)ks和Dp的參數(shù),并給其他參數(shù)賦值(已知),求出dx/dt,然后調(diào)用ODE函數(shù)求出Xsim的值,最后求所有參數(shù)點(diǎn)的Xsim和Xexp的差平方,以這個(gè)差平方和最小為優(yōu)化目標(biāo)求兩個(gè)參數(shù)。函數(shù)的程序如下所示:
function y = chapingfang1( para )
%chapingfang1 求實(shí)驗(yàn)值與模擬值的差平方
% 根據(jù)輸入的ks和Dp,求出dx/dt,求出xi,并根據(jù)實(shí)驗(yàn)值求差平方,需要在函數(shù)外給Xexp賦值。
% 首先申明Xexp為全局變量,將數(shù)據(jù)導(dǎo)入Xexp,然后給para賦初始值,并給出para的上下界限,然后引用函數(shù)。
global Xexp; %申明一個(gè)在外部定義的全局變量
function dxdt=solve(t,x)
%ks=para(1);Dp=para(2);
S0=6.45E7; %單位體積比表面積,m2/m3
C=44.64; %摩爾濃度,mol/m3,50℃,1bar
SP=1.04; %結(jié)構(gòu)參數(shù),structure parameter
epsilon=0.135; %孔隙率
p=300; %MgO的密度,kg/m3
M=40.3E-3; %MgO的分子量,kg/mol
beita=(2*para(1)*p*(1-epsilon))/(M*para(2)*S0); % beita=2*ks*p*(1-epsilon)/(M*Dp*s0)
Z=2.48; %產(chǎn)物與反應(yīng)物體積比
dxdt=para(1)*S0*C*(1-x)*sqrt(1-SP*log(1-x))*60/((1-epsilon)*(1+beita*Z*(sqrt(1-SP*log(1-x))-1)/SP)); %dx/dt,1/min
end
datanum=length(Xexp); %獲得實(shí)驗(yàn)數(shù)據(jù)的個(gè)數(shù)
[t,x]=ode45(@solve,(0:datanum),[0]);
y=0; %賦初始值
for i=1:datanum
ysingle=(x(i)-Xexp(i))^2; %單個(gè)x值求平方差
y=y+ysingle; %求所有數(shù)值的差平方
end
end
調(diào)用函數(shù)時(shí),先申明Xexp為全局變量并給其賦值,然后給para賦值,假設(shè)para=[1e-20,1e-15];然后設(shè)置options.MaxFunEvals = 10000;options.MaxIter = 5000;options.TolFun=1e-40;options.TolX=1e-40;算法設(shè)為‘a(chǎn)ctive-set’。計(jì)算后會(huì)提示Optimization completed because the objective function is non-decreasing in
feasible directions, to within the default value of the function tolerance,
and constraints were satisfied to within the default value of the constraint tolerance.就是這樣,一直算不出來(lái)結(jié)果。
此后,我還用過(guò)fminunc和lsqcurvefit命令,但是均算不出來(lái)結(jié)果,用過(guò)fminsearch命令,可以得到結(jié)果,但是只要一改初始值結(jié)果就會(huì)變化。現(xiàn)在我也不清楚到底問(wèn)題出在哪個(gè)地方,究竟用哪個(gè)算法更合適。麻煩知道的師兄師姐幫我一下,小弟真的感激不盡!
我的x-t實(shí)驗(yàn)數(shù)據(jù)如下所示:
![使用matlab最優(yōu)化方法擬合獲得多個(gè)動(dòng)力學(xué)參數(shù)中的問(wèn)題-2]()
time1 weight1
0 0
1 0.0131059561590576
2 0.0224613155271807
3 0.0258574867886566
4 0.0287923752485341
5 0.0319666281518343
6 0.0344779298157369
7 0.0365664754496289
8 0.0389215931122698
9 0.0414292601750792
10 0.0437186434808063
11 0.04540291762739
12 0.047525420820067
13 0.0493874788829805
14 0.0512869214142812
15 0.0534027784792448
16 0.0555023317621618
17 0.0571714444298997
18 0.0588653762308168
19 0.0607537072673469
20 0.0624277006851242
21 0.0639143563779841
22 0.0658329065264603
23 0.0676833338658756
24 0.0689399712324093
25 0.070436388425348
26 0.0721083049282149
27 0.0733571538638347
28 0.0744049574361283
29 0.0759068784535796
30 0.0771386966869343
31 0.0779835856724823
32 0.0790293123298656
33 0.0802949842762596
34 0.0813463186039008
35 0.0821874691426103
36 0.0830400427133269
37 0.0844930523846384
38 0.0849185084040326
39 0.0853313990882189
40 0.0866122325134587
41 0.087233126225921
42 0.0878623275980246
43 0.0884889328264904
44 0.0891348533636229
45 0.0897540855441568
46 0.0903847407566979
47 0.0910422920173286
48 0.0914330635577191
49 0.0918563388164574
50 0.0926972816636758
51 0.0931137031032097
52 0.0935382245108942
53 0.0941693989521628
54 0.09436462895374
55 0.0945851973172237
56 0.0956667507568113
57 0.0958463000508149
58 0.0958502461891445
59 0.0964731129707716
60 0.0969135227775206
61 0.0973228827063593
62 0.0975322357293269
63 0.0977422118267678
64 0.0983701670499253
65 0.0985833623654773
66 0.0987822269681474
67 0.0992140175780183
68 0.0996444581931973
69 0.0996341774643909
70 0.0998332497585521
71 0.0998405189607386
72 0.100276151863194
73 0.100476470306301
74 0.100685511792032
75 0.101090302508068
76 0.100895903272455
77 0.101105879369896
78 0.101320216988649
79 0.101736534582437
80 0.101742765327168
81 0.101946718371369
82 0.102368332098179
83 0.102157006006046
84 0.102369993630107
85 0.10280313423467
86 0.102997845007519
87 0.102997845007519
88 0.103208028796451
89 0.103203978812376
90 0.103418212585383
91 0.103629330986024
92 0.103838684008992
93 0.103842941684558
94 0.104064652351243
95 0.104048867797924
96 0.104469131530042
97 0.104469339221533
98 0.104468508455569
99 0.104469339221533
100 0.104679523010465
101 0.10508524833821
102 0.104889810645142
103 0.105095840604253
104 0.105100305971311
105 0.105506550527784
106 0.105531785043945
107 0.10530290902082
108 0.105743111136078
109 0.10553583502802
110 0.105940833435547
111 0.105940833435547
112 0.106151017224479
113 0.106151017224479
114 0.106372727891164
115 0.106361304859156
116 0.106586338589697
117 0.106571384802343
118 0.106567334818267
119 0.106797145453102
120 0.106992998529152
121 0.106991648534461
122 0.107202143860629
123 0.106993206220644
124 0.106991856225952
125 0.107201001557428
126 0.106991856225952
127 0.106980744731181
128 0.106991856225952
129 0.106991856225952
130 0.107217305339475
131 0.10718635930731
132 0.107201832323393
133 0.10719726311059
134 0.107412327649561
135 0.107412327649561
136 0.107607869188375
137 0.107622511438493
138 0.107622511438493
139 0.107621472981038
140 0.107402254612246
141 0.107830826004005
142 0.107818468360289
143 0.107836849057245
144 0.108042982862102
145 0.108264589683041
146 0.108043086707848
147 0.108249116666959
148 0.108470931179389
149 0.108462208136765
150 0.109102521003639
151 0.108883821863575
152 0.109094109498252
153 0.109304085595693
154 0.109304293287184
155 0.109305020207403
156 0.109094005652507
157 0.109309174037224
158 0.109094005652507
159 0.109093278732288
160 0.109305331744639
161 0.109304293287184
162 0.10972206472141
163 0.109724660865048
164 0.109727464700177
165 0.109724349327811
166 0.109933806196525
167 0.109500665591962
168 0.109935156191216
169 0.110150116884442
170 0.109949590749844
171 0.110151882262116
172 0.109943152313621
173 0.110145339980148
174 0.109721649338428
175 0.109934636962489
176 0.109939725404019
177 0.109934948499725
178 0.10993484465398
179 0.109934948499725
180 0.109950629207299
181 0.110145859208876
182 0.110146170746112
183 0.110359262215919
184 0.110145339980148
185 0.110140978458836
186 0.11036642757236
187 0.110351266093514
188 0.110776825958653
189 0.110565499866521
190 0.110568615238886
191 0.110566849861213
192 0.110771529825632
193 0.110985867444384
194 0.110981921306055
195 0.11099085204017
196 0.111180682062979
197 0.110764883697919
198 0.11098597129013
199 0.11098597129013
200 0.111207370419578
201 0.111403431187119
202 0.111399173511553
203 0.111211628095144
204 0.111406442713739
205 0.110987840513549
206 0.111403431187119
207 0.111196155079062
208 0.111402600421155
209 0.111387958171037
210 0.111187951265166
211 0.111210485791944
212 0.110990021274205
213 0.110982128997546
214 0.111001340460467
215 0.11142752340008
216 0.111406131176503
217 0.111391696617875
218 0.111184939738546
219 0.111406442713739
220 0.111196466616298
221 0.111596999656768
222 0.111631268752789
223 0.112048209421051
224 0.112262754731295
225 0.112040940218865
226 0.112026401814492
227 0.111815802642578
228 0.112036994080535
229 0.112037305617771
230 0.112036994080535
231 0.111842594844922
232 0.112254343225908
233 0.112036994080535
234 0.112036786389044
235 0.11203709792628
236 0.111816841100033
237 0.112247281715212
238 0.112033151787951
239 0.112258289364237
240 0.112468888536151
241 0.112457153966908
242 0.112247281715212
243 0.112457257812653
244 0.112457465504144
245 0.112456738583925
246 0.11245663473818
247 0.112243335576883
248 0.112457465504144
249 0.112694545341165
250 0.112663599309001
251 0.112878975385208
252 0.11286734466171
253 0.112667753138821
254 0.112224747188434
255 0.112667649293076
256 0.112458503961599
257 0.112667753138821
258 0.112683122309158
259 0.112666091606893
260 0.112653110888703
261 0.112864021597854
262 0.112661107011108
263 0.112866098512764
264 0.112870875417058
265 0.112876794624553
266 0.112878144619244
267 0.113088120716685
268 0.113298304505617
269 0.113299135271581
270 0.113298304505617
271 0.113298304505617
272 0.113088120716685
273 0.113088120716685
274 0.112867863890438
275 0.113090820706069
276 0.11308915917414
277 0.113072543854857
278 0.113508488294549
279 0.113313777521699
280 0.113721268227119
281 0.113301523723728
282 0.113523649773395
283 0.113511292129678
284 0.113492496049739
285 0.113508488294549
286 0.113739856615567
287 0.113298200659871
288 0.113288335314047
289 0.11331398521319
290 0.113508488294549
291 0.113524272847868
292 0.113719087466463
293 0.113717633626025
294 0.113717633626025
295 0.113718775929226
296 0.113714725945151
297 0.113507449837094
298 0.113507969065821
299 0.11350983828924 |
» 猜你喜歡
» 本主題相關(guān)價(jià)值貼推薦,對(duì)您同樣有幫助:
|