ode23 calling and speicified time problems

조회 수: 1 (최근 30일)
sarngon
sarngon 2012년 2월 23일
hello,
i have a prog. below
*global Ua Ub
Ua=3; Ub=0;
[t,x]=ode23('train',[0,5],[0;0]);
subplot(3,1,1);plot(t,x(:,1));ylabel('displacement');xlabel('second'); grid on
subplot(3,1,2);plot(t,x(:,2)); ylabel('velocity');xlabel('second'); grid on*
now my question is that there is a train function in my program and olsa in this function i use Ua and Ub as a global variable. But Ua not a constant afer 5 second it is changing to 5 for example and i have to call ode23 to solve it again with a new value of Ua .
Now here some problems.
the first problem is initial value prblem because for example time between 0 and 5 second Ua=3 at t =5 there is a output x(:,1)=20 and when i change ua=5 i call it ode23 again like
[t,x]=ode23('train',[now here 5to10],[now i should write here fisrt ode23 solution x(:,1) last value as a initial value and x(:,2) too but i cannot find them without counting hw many value for ex last vluae x(31,1) ]
as a result , I CANNOT USE LAST VALUE OF RESULT OF FİRST ODE23 SOLUTION AND I CANNOT PLOT THE WHOLE VALUE WİTH PLOT(T,X(:,1)) COMMAND BECAUSE İT TAKES LAST VALUE OF ODER23 NOT T[0,5] ONLY T[5-10]
HOW CAN I HANDLE ??
THANKS FOR YOUR HELP

답변 (0개)

카테고리

Help CenterFile Exchange에서 Ordinary Differential Equations에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by