How can I correctly use consecutive numbers in a iteration?

1 次查看(过去 30 天)
Hi there!
I have this formula : Ek = mk + e*sin(ek). I know 'mk' and I know 'e'.
To find out the value of Ek I have to use iteration, that's what my teacher told me.
He said :
#1 ek = mk that means e1 = mk + e*sin(ek)
#2 e2 = mk + e*sin(e1)
#3 e3 = mk +e*sin(e2)
It must stop when ei+1-ei>tolerance (tolerance = 10^-12).
That,s what I did but it is not working :(.
ia=10^-11;
tol=10^-12;
ek=mk;
while ia>tol
ei+1-ei>tol;
e1=mk+e*sin(mk);
e2=mk+e*sin(e1);
ei+1=mk+e*sin(ei); %The expression to the left of the equals sign is not a valid target for an assignment
That's the error I get at the end.
Thanking you!

采纳的回答

CARLOS RIASCOS
CARLOS RIASCOS 2018-4-4
Hello friend, I did this for you, I hope it helps you.
Note: Change the values of the variables mk and e to the values that you say already have.
clear all
mk=0.01;
e=0.5;
i=1;
ek(i) = mk;
tol=10e-12;
ia = 10e-11;
while abs(ia) > tol
ek(i+1) = mk + e*sin(ek(i));
ia= ek(i+1) - ek(i);
i=i+1;
end
disp('End value of ek:')
disp(ek(end))

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by