Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: How to retrieve a parameter inside ode solver?
Replies: 2   Last Post: Dec 23, 2012 11:29 AM

 Messages: [ Previous | Next ]
 Qiming Posts: 10 Registered: 12/21/12
Re: How to retrieve a parameter inside ode solver?
Posted: Dec 23, 2012 11:29 AM

"Torsten" wrote in message <kb4a84\$nsv\$1@newscl01ah.mathworks.com>...
> "Qiming " <qzfyc@mst.edu> wrote in message <kb2p6s\$kht\$1@newscl01ah.mathworks.com>...
> > Hi:
> >
> > My question is how to retrieve a parameter value inside ode solver? Let's take the control system as an example. I write my own ODE function. Within the ODE function, I compute the control inputs as u=-K*x, where x is the system states and K is a constant matrix. x can be solved by calling ode solver, like ode45. But my question is, how can I get "u"?
> >
> > I know one solution is that after running the ode solver, then I can write a for loop, like:
> > for i = 1 : length(x)
> > u(i) = -K*x(i);
> > end
> >
> > Is there any way that I can retrieve u without using the for loop after running ode solver?
> >
> > Thanks.

>
> I'd do it the way you suggested (after running the ODE solver), except that you will have to put u=-K*x (the loop from above is incorrect).
>
> Best wishes
> Torsten.

Hi Torsten:

Thanks for your reply. I understand that's one way to retrieve the parameter inside ODE, however, for my real application, I generate a random value inside the ODEfunction. I cannot retrieve the parameter after running the ODE solver since I cannot get the exactly the same random value in my runfile.

I also tried using a counter inside the ODE solver. The weird thing is, the length of the counter is not the same as the length of the time step. How come this happens?

Thanks.

Date Subject Author
12/21/12 Qiming
12/22/12 Torsten
12/23/12 Qiming