Solve an eqution in matlab

2 views (last 30 days)
ana take
ana take on 9 Jan 2017
Commented: Niels on 16 Jan 2017
Hello! How can I write this equation in matlab: The variable here is t, all other variables including Rt are known.I want to find t by solving D(t)=R(t).

Accepted Answer

Niels
Niels on 9 Jan 2017
Edited: Niels on 9 Jan 2017
D(t)=R_t
<=> D(t)-R_t=0
use fzero
tSolution=fzero(D(t)-R_t,0)
but care, the output can be contain more than 1 solution, if D and R have more than 1 intersection point
  2 Comments
ana take
ana take on 13 Jan 2017
Here x, y,teta are vectors.When I call the function fzero it shows this message:fzero(@(t)shkruajek(x,y,1,3,teta,0.1,4,t),0)
Exiting fzero: aborting search for an interval containing a sign change
because NaN or Inf function value encountered during search.
(Function value at -2.54232e+306 is NaN.)
Check function or try again with a different starting value.
ans =
NaN
can you help me to determine where is the problem here??
function [ek]=shkruajek(x,y,i,j,teta,speed,R,t)
ek=sqrt(((x(i)+ speed*cos(teta(i)*t)) - (x(j) + speed*sin(cos(teta(j)*t))))^ 2+ ((y(i) + speed*sin(teta(i)*t)) - (y(j) + speed*sin(teta(j)*t))).^ 2)-R;
end
a=fzero(@(t)shkruajek(x,y,i,j,teta,speed,R,t),0);
Niels
Niels on 16 Jan 2017
this means that the function has no roots... maybe plot the function first or check if it has a sign change. Did you enter the right function?

Sign in to comment.

More Answers (0)

Categories

Find more on MATLAB in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!