How can I correctly use consecutive numbers in a iteration?

조회 수: 1 (최근 30일)
gblmtc
gblmtc 2018년 4월 4일
댓글: gblmtc 2018년 4월 5일
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