Code help on Euler's method
古いコメントを表示
I would like to implement a Matlab code based on Euler's method. This is a project work in the university, and I have a sample solution from my professor to make this project easier. I have succesfully modified this sample solution to fit my task.
Differential equation:

My code:
fv = @(t,y) t * sin(-y) + cos(t)./(t+1);
t0 = 0; tv = 7; y0 = 2; steps = 10;
[tE,yE] = Euler(fv,[t0,tv],y0,steps);
plot(tE,yE,'*;Euler;');
function [t,y] = Euler(fv,tr,y0,steps)
t = linspace(tr(1),tr(2),steps + 1);
y = zeros(size(t));
h = t(2)-t(1);
y(1) = y0;
for i = 1:steps
y(i+1) = y(i) + h * fv(t(i), y(i));
end
end
When I attemp to run my code I always get an error message:
Unrecognized function or variable 'Euler'.
My Matlab skills are horrible, so I can't figure out what is the problem. :(
If anyone provide me an explanation or a proper code, it'll be very helpful for me. Thank you in advance.
2 件のコメント
Is this all in one file, or is Euler() in a separate file? If it's the first case, what version are you using? If it's the second case, is Euler() on the path? Running this in R2019b (all in one file), the code runs for me (except the plot() call)
Unrelated, but I don't really know what you're trying to do here:
plot(tE,yE,'*;Euler;')
'*;Euler;' isn't a valid line spec. If you're trying to add a legend, you can do that a couple different ways, but this is one:
h=plot(tE,yE,'b'); % or pick whatever line/marker color you want
legend(h,'call it something')
Szalka Gergo
2021 年 4 月 14 日
編集済み: Szalka Gergo
2021 年 4 月 14 日
採用された回答
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Mathematics についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
