Use for loop array value to return into for loop
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Martijn J.
am 6 Feb. 2021
Kommentiert: Martijn J.
am 6 Feb. 2021
clear all
clc
clear all
% y' = -3y %
% Exact solution: y = 2*exp(-3x)
% Matlab solution: Follow slope over small x interval (dx) for
% range of x. Small dx should approach exact solution.
dx = 1; % Step size of x
x = 0:dx:10; % Range of x
slope = -3; % Slope of formula, f(y)
y = zeros(size(x)); %Create blank array of y coordinates
y(1) = 2; %y-value at x=0, first (1) value in array
for i = numel(y)
y(i) = y(i-1) + dx*h*y(i-1);
end
disp('y =')
disp (y)
Hello. I just started using matlab (or any other coding program) as a student. Now I ran into a problem:
For a first ode, I have to calculate a function's slope (ax) at a certain y-coordinate and use that slope to mimic the exact solution and plot both to compare.
Starting at y=2, I follow the slope for 1 dx. Slope = -3 y since dy/dx = -3y. Then I get y = 2 - 6 = -4. Then in this point I again calculate the next y-value with the slope in y=-4 and so on. But with my code matlab doesn't do what I want it to do, I've tried many other types of codes but I give up now. :(
What am I doing wrong?
Greetings,
Martijn Jacques
0 Kommentare
Akzeptierte Antwort
the cyclist
am 6 Feb. 2021
I didn't look to see if this is the only problem with your code, but a problem is that your for loop has only one iteration. For the above code, it is equivalent to
for i = 11
...
end
I expect you want to do something like
for i = 2:numel(y)
end
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!