[scilab-Users] identify ode parameters scilab

Jerome PICARD jerome.picard at scilab.org
Fri Aug 7 18:06:56 CEST 2009


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
>>>
>>>
>>>
>>
>>
>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: scilab_code.tar.gz
Type: application/x-gzip
Size: 2988 bytes
Desc: not available
URL: <https://lists.scilab.org/pipermail/users/attachments/20090807/0e4879ed/attachment.bin>


More information about the users mailing list