Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

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


Math Forum » Discussions » Software » comp.soft-sys.matlab

Topic: Differential equation and ode45 or ode15i
Replies: 10   Last Post: Jan 28, 2014 3:14 AM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
shatrah

Posts: 11
Registered: 1/26/14
Re: Differential equation and ode45 or ode15i
Posted: Jan 27, 2014 12:05 PM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

"Torsten" wrote in message <lc5tqg$495$1@newscl01ah.mathworks.com>...
> "shatrah " <shatrah1978@gmail.com> wrote in message <lc5sso$kdh$1@newscl01ah.mathworks.com>...
> > "Torsten" wrote in message <lc5r64$o8h$1@newscl01ah.mathworks.com>...
> > > "shatrah " <shatrah1978@gmail.com> wrote in message <lc5q4c$4a9$1@newscl01ah.mathworks.com>...
> > > > "Torsten" wrote in message <lc5mi0$n5t$1@newscl01ah.mathworks.com>...
> > > > > "shatrah " <shatrah1978@gmail.com> wrote in message <lc35in$d3g$1@newscl01ah.mathworks.com>...
> > > > > > dq/dz=dy/dz+q
> > > > > > dy/dz=z*y
> > > > > > ds/dz=dy/dz+dq/dz
> > > > > >
> > > > > > y=10, dy/dz=0 for z=0
> > > > > > z=15, dz/dz=0 for z=0
> > > > > > q=11, dq/dz=0 for z=0
> > > > > >
> > > > > >
> > > > > > 1- how can solve this problem ? using ode45 or ode15i
> > > > > >
> > > > > >
> > > > > > if i need to use ode45 can make like this
> > > > > >
> > > > > > dy(1)=dy(2)+y(1)
> > > > > > dy(2)=y(2)*z
> > > > > > dy(3)=dy(2)+dy(1)
> > > > > >
> > > > > >
> > > > > > as a function filw ?
> > > > > >
> > > > > > Thanks

> > > > >
> > > > > function dy = test(z,y)
> > > > > dy = zeros(3,1); % a column vector
> > > > > dy(1)=z*y(2)+y(1);
> > > > > dy(2)=z*y(2);
> > > > > dy(3)=2*z*y(2)+y(1);
> > > > >
> > > > > But I don't understand your initial conditions:
> > > > > y=10, dy/dz=0 for z=0
> > > > > z=15, dz/dz=0 for z=0
> > > > > q=11, dq/dz=0 for z=0
> > > > >
> > > > > Best wishes
> > > > > Torsten.

> > > >
> > > > Dont look at my initial conditions , its just example ,
> > > > my question can put like this dy(1)=dy(2) ??
> > > >

> > >
> > > Yes, you can. Just insert the expressions for the derivatives from the other equations.
> > > dy(1)=dy(2)+y(1) can be written as dy(1)=z*y(2)+y(1) since dy(2)=z*y(2).
> > > Likewise dy(3)=dy(2)+dy(1) can be written as dy(3)=2*z*y(2)+y(1) since
> > > dy(2)=z*y(2) and dy(1)= z*y(2)+y(1).
> > >
> > > Best wishes
> > > Torsten.

> >
> > on my expression i need to write dy(1)=dy(2)+y(1) Instead of dy(1)=z*y(2)+y(1) ? so i can do than without any problem or logic problems ?

>
> I don't understand what you are asking for.
> If your equations read

> > > > > > dq/dz=dy/dz+q
> > > > > > dy/dz=z*y
> > > > > > ds/dz=dy/dz+dq/dz,

> write them as
> dq/dz=z*y+q
> dy/dz=z*y
> ds/dz=z*y+z*y+q
> and implement them as

> > > > > function dy = test(z,y)
> > > > > dy = zeros(3,1); % a column vector
> > > > > dy(1)=z*y(2)+y(1);
> > > > > dy(2)=z*y(2);
> > > > > dy(3)=2*z*y(2)+y(1);

> for ODE45.
> If you want to stick to the formulation

> > > > > > dq/dz=dy/dz+q
> > > > > > dy/dz=z*y
> > > > > > ds/dz=dy/dz+dq/dz,

> rewrite the system as
> > > > > > dq/dz-dy/dz=q
> > > > > > dy/dz=z*y
> > > > > > ds/dz-dy/dz-dq/dz=0

> and define a mass-matrix different from the identity matrix for the ODE solvers.
> Search for "mass matrix" under
> http://www.mathworks.de/de/help/matlab/ref/ode45.html
>
> Best wishes
> Torsten.
>


Thanks fo reply ....
Please just answe this questin ( my clear one )
Can I use this on matlab ode45 , dy(1)=dy(2)+d(3) ???? Or must left side contain only dy and right side don't contain dy ??? Clear question !!! Thanks



Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.