[scilab-Users] identify ode parameters scilab

Maso Ricci ricci2 at unisi.it
Mon Aug 10 13:37:16 CEST 2009


Hi Jerome,

thanks for your kind suggestions and the attacched examples.

I will study them carefully.

thanks

Maso



Jerome PICARD wrote:
> 
> Hello,
> 
> 
> In this problem, we consider a differential equation (E) :
> 
>                           dx/dt = f(t,x,k)
> 
> where k is a parameter.
> 
> The theory of control systems studies this kind of problem. In this 
> context, your parameter k is called the control variable or the input 
> variable. A good reference book on this topic : Analytical Methods of 
> Optimization, by D.f. Lawden.
> 
> For Scilab, the parameter k will be a column vector. Nethertheless, the 
> current limitation of the ordinary differential equation solver in 
> Scilab (ode) does not allow to add the parameter k as an input variable 
> of this routine. To solve this problem, we decide to declare k as a 
> global variable.
> 
> We suppose that for every k, the equation (E) has an unique solution 
> x(t) (i.e. that the Cauchy-Lipschitz conditions are satisfied).
> 
> 
> Inversely, if a trajectory x(t) is given, we want to know what control 
> parameter was used to generate this trajectory. In general, the control 
> parameter also depends on time, then we have to find a function, the 
> control low t -> k(t).
> 
> To solve this problem, we have to solve the algebraic equation with 
> respect k for every time t in [0,T] :
> 
> x(t) = c(t,k). 
> It means that in a dependant time problem, an algebraic equation is to 
> solve at different time.
> 
> Your example does not need different equations, because it is 
> independant of time.
> 
> I have attached an archive with the programs to solve your particular case.
> 
> I hope it will help you.
> 
> 
> Jérôme
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Maso Ricci wrote:
>> Dear Jérôme,
>>
>> thanks for your kind reply, sorry I was a little cryptic: yes I 
>> intended the coefficients in the equation to describe it.
>> For instance, if I try to solve the simple equation:
>>
>> dx/dt = -kx
>>
>> using the ‘ode ‘ function in Scilab, it is possible to solve the 
>> equation for different value of the parameter ‘k’.
>>
>> What I am trying to do is slightly different. I would like to fit the 
>> differential equation to experimental data in order to evaluate the k 
>> parameter.
>>
>> Do you have any suggestions ?
>>
>> I also attached a scilab script to make this more clear
>>
>> Best regards
>>
>> Maso
>>
>>
>>
>> Jerome PICARD wrote:
>>>
>>>
>>>
>>> Hello,
>>>
>>> Can you explain to us what do you call "ode parameters"?
>>>
>>> Do you mean some coefficients in the equation to describe it ? For 
>>> example, for a linear differential equation of second order  a y'' + 
>>> b y' + c = 0, these parameters could be a, b and c.
>>>
>>>
>>> Best regards
>>>
>>>
>>>
>>> Jérôme
>>>
>>>
>>>
>>>
>>> Maso Ricci wrote:
>>>> Hi,
>>>>
>>>> does anybody can suggest a simple methods to identify  ode 
>>>> parameters with scilab
>>>>
>>>> thanks in advance
>>>>
>>>> maso
>>>>
>>>>
>>>>
>>>
>>>
>>
> 

-- 

Maso Ricci Ph.D.

Dipartimento Farmaco Chimico Tecnologico

Università degli Studi di Siena
Via A. Moro, 2 ­ 53100 Siena
ITALY
Tel: +39 0577 234367
Fax: +39 0577 234177
email: ricci2 at unisi.it



More information about the users mailing list