ode numerical answer with euler-method

1 回表示 (過去 30 日間)
tomer polsky
tomer polsky 2018 年 1 月 3 日
編集済み: James Tursa 2018 年 1 月 3 日
hello i am trying to solve ode with Euler’s Method this state equtin x_dot=A*x+B*U
when x_dot=2x1,A=2x2,x=2x1,b=2x1,U=1x1 .
i dit it for one varbile but how do i do it when i have 2 varbles (meaning that i habe 2 solutions for x and not 1 sulotion for x )

回答 (1 件)

James Tursa
James Tursa 2018 年 1 月 3 日
編集済み: James Tursa 2018 年 1 月 3 日
You do it for vectors pretty much the same way you would do it for scalars. The main difference would be that you need to account for the fact that x is a vector if you are saving all of the intermediate results. E.g., something like this:
% set constants etc here
x = some initial value
t = some initial value
dt = some step size
n = number of steps to take
xresult = zeros(numel(x),n); % allocate the result variable
xresult(:,1) = x; % save initial value
for k=2:n
% if needed, update A, B, U here
x_dot = A*x + B*U; % calculate derivative
x = x + x_dot*dt; % take the Euler step
t = t + dt;
xresult(:,k) = x; % save this intermediate result
end

カテゴリ

Help Center および File ExchangeOrdinary Differential Equations についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by