so i made the code but i only get the first two values then the values start to equal zeros wich shouldnt hapend.
this is the code :
x_start=0; %valeeur initial de x
x_end=1; %valeur final de x
n_nodes=20;
h=(x_end-x_start)/(n_nodes-1);
x=linspace(x_start, x_end, n_nodes);
y_RK4=zeros(1,n_nodes);
y_RK4(1)=3;
f=@(x,y) (-0.3*y+2*exp(-x));
for i=1,n_nodes-1;
k1=h*f(x(i),y_RK4(i));
k2=h*f((x(i)+(h/2)),(y_RK4(i)+(k1/2)));
k3=h*f((x(i)+(h/2)),(y_RK4(i)+(k2/2)));
k4=h*f((x(i)+h),(y_RK4(i)+k3));
y_RK4(i+1)=y_RK4(i)+(k1+(2*k2)+(2*k3)+k4)/6;
end

 채택된 답변

Torsten
Torsten 2024년 11월 25일

2 개 추천

Use
for i=1:n_nodes-1
instead of
for i=1,n_nodes-1;

댓글 수: 3

Aya
Aya 2024년 11월 25일
MAN THANK YOU SM i was about to cry, its such a stupid mistake cus i didnt notice it since we had four difrent functions to plot. THANK YOU SO MUUUUCH AGAIN THANKS TO YOU I WONT CRY THIS NIGHT.
Image Analyst
Image Analyst 2024년 11월 27일
If this Answer solves your original question, then could you please click the "Accept this answer" link to award the answerer with "reputation points" for their efforts in helping you? They'd appreciate it. Thanks in advance. 🙂 Note: you can only accept one answer (so pick the best one) but you can click the "Vote" icon for as many Answers as you want. Voting for an answer will also award reputation points.
For full details on how to earn reputation points see: https://www.mathworks.com/matlabcentral/answers/help?s_tid=al_priv#reputation
Aya
Aya 2024년 12월 4일
aha i did thanks man im new to matlab so i didnt know much :)))))

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

질문:

Aya
2024년 11월 25일

댓글:

Aya
2024년 12월 4일

Community Treasure Hunt

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

Start Hunting!

Translated by