Why doesn't my code for Euler's method work?

function [T,N] = expgrowthEULER(N0,tmax,dt,r);
T=[0:dt:tmax]
N=zeros(length(T),1)
N(1)=N0
for i=2:length(T)
N(i)=N(i-1)+r*N(i-1)*dt
end
end
N0=1
r=0.1
tmax=10
dt=0.1
[T,N]=expgrowthEULER(N0,tmax,dt,r)
plot(T,N)
It says I have an undefined variable 't'.

 Accepted Answer

correct usage is as shown below:
N0=1;
r=0.1;
tmax=10;
dt=0.1;
[T,N]=expgrowthEULER(N0,tmax,dt,r) ; %function call
plot(T,N)
function [T,N] = expgrowthEULER(N0,tmax,dt,r) % function definition
T=[0:dt:tmax];
N=zeros(length(T),1);
N(1)=N0;
for i=2:length(T)
N(i)=N(i-1)+r*N(i-1)*dt;
end
end

More Answers (0)

Categories

Find more on Programming in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!