Matlab Code Assistance for Multistart or GA

3 次查看(过去 30 天)
I want to apply MultiStart global optimization technique for curve fitting and parameter estimation from data set and system of ordinary differential equation. I am new for that concept. I have Number of infected cases for time serious data and want to fit with my model. I am wondering if you could assist me how to estimate using that technique? I will be very happy if you send me any prototype matlabcode!
Any help is appreciated!

回答(2 个)

Nihal Reddy
Nihal Reddy 2023-4-13
I understand you require resources and reference examples for implementing MultiStart optimization technique in MATLAB.
Please refer to the following MATLAB documentation for more information and examples-
Hope this helps!

Alan Weiss
Alan Weiss 2023-4-14
  11 个评论
Temesgen
Temesgen 2023-4-20
编辑:Temesgen 2023-4-20
Dear Alan, really I appreciate your effort, thank you so much. here are some thing I want to say.
  1. I want to estimate the following (13) model parameters. Keep in mind, there are 8 fixed model paraeters in addition to another 10 state variables. I gave these initial values for simulation purpose.
x(1) = 0.000548 ; % x(1)=Lambdaa
x(2) = 0.004626; % x(2)= phia
x(3) = 0.00227; % x(3)=gammah
x(4) = 0.295; % x(4)=gammaa
x(5) = 0.0002857; % x(5)=mua
x(6) = 0.0014; % x(6)= deltaa
x(7) = 0.001; % x(7)=q
x(8) =0.003189 ; % x(8)=betah
x(9) = 0.000178; % x(9)=betaaa
x(10) = 0.09; % x(10)=betahe
x(11) = 0.0009; % x(11)=betaah
x(12) = 0.175;% x(12)=alphah
x(13) = 0.285; % x(13)=alphaa
2. the estimated values as indicated in ''yout'' shows for the ten state variables (y(1), y(2), ......y(10)). Am I right? But, the program should use those initial values and estimate those 13 parameters and since most of the values will be in between 0 and 1 since ther are rates except some parametes like x(1).
3. The lower and upper bounds should be for these 13 parameters not for the 10 state variables.
you can use these bounds for those parameters
%[Lama betah betaah betahe betaaa gammah gammaa alphah alphaa mua deltaa q phia];
lb=[1 0.14 0.01 0.01 0.01 0 0.01 0.01 0 0.5 0.5 0.01 0.1];
ub=[1000 0.428 0.95 0.95 0.95 0.95 0.75 0.95 0.5 0.85 0.85 0.75 0.9];
Dear, I am very greatful and I can't wait to see the result after you consider and incorporate these ideas into the program.
Alan Weiss
Alan Weiss 2023-4-20
OK, I clearly misunderstood what are the parameters to vary in your problem. And I am not sure that I understood correctly what you are trying to match, meaning which data are you trying to fit and which output of the ODE you want to match.
Once more I ask you to perform the following.
  1. Give a function F(x) that is the ODE solver, taking your parameters x to a solution y(t). Obviously, I am not sure what that function is in the code that you gave me.
  2. After that we can try to identify the data that you want F(x) to fit. We will call an optimizer and minimize the sum of squares of some parts of y(t) minus some data d(t).
So I am asking you to give F(x). Not to optimize it, just give clear, unambiguous, working code that takes an input set of parameters x and returns an ODE solution y(t).
Alan Weiss
MATLAB mathematical toolbox documentation

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Global or Multiple Starting Point Search 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by