Hello everyone!
I need to solve a IVP, for example
x(0) = 0.995
y(0) = 0
(I actually don't know if there is a solution...)
But how to solve it by using ode45? depends on and y ...
By the way,
I know how to solve
v0 = v(0) = 0
for example:
[ t , v ] = ode45 (@( t , v ) 10-5v^2/2 , [0, 10], v0 ) ;
----
How to solve the IVP with 2 equations?
Best regards,
Rapha
Hello.
that was very helpful, thank you very much (and yes, i could get ode45 to work).So now can you get ode45 to work?
But actually i kinda screwed it(sorry, i did not exactly realize what my problem was and asked for something different), because my problem is :
with
i tried to find the IVP 1. order:
=>
I did not realize that there are 4 functions:
I still want to solve this by using ode45.
Regards
Rapha
Now we have as state vector:
and derivative:
where:
You will need to write a Matlab function to evaluate the derivative and pass that to ode45 (the derivative is now too complicated to be easily passed as an anonymous function).
(You cound simplify the derivative by collecting terms)
CB
Hello CaptainBlack!
Thank you so much for your helpful comment!
I tried it but it still doesn't work.
clearly represented, I wrote forCode:function dx = ivp(t, x) dx = \dot{x} * x;
then:
[t, x] = ode45(@ivp, [0, 10], [??,??,??,??] )
where and ?? = [x_3(0); x_4(0);, ...(0); ...(0)]
this is stupid, but I don't know the initial values :-(
Somewere in the staement of the problem there should be initial values.
But you can try any initial values to test the code [0;0;1;1] should do.
the following seems to work on FreeMat:
with calling statement:Code:function dx=deriv(t,x) d1=sqrt(((x(1)+0.1)^2+x(2)^2)^3); d2=sqrt(((x(1)-0.9)^2+x(2)^2)^3); dx=zeros(4,1); dx(1)=x(3); dx(2)=x(4); dx(3)=x(1)-2*x(4)-0.9*(x(1)+0.1)/d1-0.1*(x(1)-0.9)/d2; dx(4)=x(2)-2*x(3)-0.9*x(2)/d1-0.1*x(2)/d2;
(note the absurdty that we have state and derivative as colum vectors, but the output is an array of row vectors, one for each time point, but it does not work if we have row vectors for the state and derivative!!)Code:[t,x]=ode45(@deriv ,[0,10],[0;0;1;1]);
CB