- write down the 2 ODE's separately (not in matrix form as provided)
- write down what the forward euler formula looks like for each
- only then start thinking about the code.
Euler's Method with Matrix
37 ビュー (過去 30 日間)
古いコメントを表示
I'm trying to implement Euler's Method on the following ODE, with initial condition [y1, y2] = [1, 3] and on the interval t in [0, 1]:
The exact solution is given as:
I currently have two different code as a way to go about solving this but I'm not sure which is correct/how to fix them. I'm really struggling to figure out where to go from here and any help/advice would be really appreciated!
% Code Number 1 %
function [y] = ForwardEulers(y0, t)
n = 2;
h = (t(2) - t(1)/n);
y = y0;
A = [-500.5, 499.5; 499.5, -500.5];
[V, D] = eig(A);
for t = 1:n
y(t) = y0 * (V * ((eye(n) + h * (D))^t) * inv(V));
x(t) = t * h;
end
plot(x, y)
end
% Code Number 2 %
function [y] = ForwardEulers2(y0, t)
n = 2;
h = (t(2) - t(1))/n;
A = [-500.5, 499.5; 499.5, -500.5];
for i = 1:n
y(i) = ((eye(n) + (h* A))^i) * y0;
end
end
1 件のコメント
J. Alex Lee
2020 年 4 月 29 日
I assume this is a homework problem. Neither approach looks correct. Can you start over:
回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Ordinary Differential Equations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!