exp(-x) - sinx = 0

hi, i'm planning to reach the root of this function:
exp(-x) - sinx = 0;
here is my code:
------------------------------
x0 = input('please enter x0 ::: ');
eps = input('please enter steps ::: ');
% eps is the step
iterator = 0;
for i=0:eps:x0
x=x+exp(-x) - sin(x);
iterator = iteratio + 1;
end
disp('root ::: '); disp(x);
disp('iterate count ::: '); disp(iterator);
------------------------------
well i can't make it work. can you help me with that?

Answers (2)

Mischa Kim
Mischa Kim on 10 Jan 2014

0 votes

Try the fzero function. Unless, of course, you would like to do it on your own.
reza
reza on 10 Jan 2014

0 votes

Now it's working,
x0 = input('please enter x0 ::: '); eps = input('please enter steps ::: '); iterator = 0; x=0; iterator = 0; for i=0:eps:x0 x=x+exp(-x) - sin(x); iterator = iterator + 1; end disp('root ::: '); disp(x); disp('iterate count ::: '); disp(iterator);
thanks to all.

6 Comments

Just want to make sure you are getting the results you are looking for. What root-finding method are you using? For those kind of problems I'd recommend Newton-Raphson (if you prefer coding yourself). Also note that this function has an infinte number of roots. Here are two of them:
r1 = fzero(@(x) exp(-x) - sin(x), 0)
r1 =
0.5885
r2 = fzero(@(x) exp(-x) - sin(x), 2)
r2 =
3.0964
Youssef  Khmou
Youssef Khmou on 11 Jan 2014
that is good remark, so how, for example, we find the period of the solutions using only fzero as you illustrated above?
Mischa Kim
Mischa Kim on 11 Jan 2014
Not sure I understand what you are asking. If it's about finding more than just a handful of roots, you could use a for -loop. For positive x-values the function (and therefore the roots) is dominated by the sine-term, which allows you to get pretty accurate starting values for the searches.
Youssef  Khmou
Youssef Khmou on 11 Jan 2014
Edited: Youssef Khmou on 11 Jan 2014
yes, here is the result :
ct=1;
for n=0:100
F(ct)=fzero(@(x) exp(-x)-sin(x),n);
ct=ct+1;
end
stem(F)
can we conclude that there re 4 solutions?
Mischa Kim
Mischa Kim on 11 Jan 2014
By solutions you mean roots? Here is the function plot:
Youssef  Khmou
Youssef Khmou on 11 Jan 2014
Edited: Youssef Khmou on 11 Jan 2014
alright, infinite number of solutions with period of ~3.1
thanks

Sign in to comment.

Categories

Tags

Asked:

on 10 Jan 2014

Edited:

on 11 Jan 2014

Community Treasure Hunt

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

Start Hunting!