won't run euler method

3 次查看(过去 30 天)
Louis
Louis 2014-3-17
评论: Louis 2014-3-18
x=0
y=1
a=0
b=5
h=0.1
n=(b-a)/h;
f(x(i),y(i))= -2*y(i)+2-e^(-4*x(i))
for i=1:n
x(i)=a+(i-1)*h
x(i+1)=a+i*h
y(i+1)=y(i)+h*f(x(i),y(i))
end
plot(x,y)
hold on

采纳的回答

Sara
Sara 2014-3-17
Is this what you were looking for?
x=0;
y=1;
a=0;
b=5;
h=0.1;
n=(b-a)/h;
for i=1:n
x(i)=a+(i-1)*h;
x(i+1)=a+i*h;
f = -2*y(i)+2-exp(-4*x(i));
y(i+1)=y(i)+h*f;
end
plot(x,y)
hold on

更多回答(1 个)

Walter Roberson
Walter Roberson 2014-3-17
In your statement
f(x(i),y(i))= -2*y(i)+2-e^(-4*x(i))
you have not defined "i".
If you are trying to define a function, that is not the correct syntax.
You could use
f = @(x,y) -2*y + 2 - exp(-4*);

类别

Help CenterFile Exchange 中查找有关 Mathematics 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by