Solve an eqution in matlab

1 Ansicht (letzte 30 Tage)
ana take
ana take am 9 Jan. 2017
Kommentiert: Niels am 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).

Akzeptierte Antwort

Niels
Niels am 9 Jan. 2017
Bearbeitet: Niels am 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 Kommentare
ana take
ana take am 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 am 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?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Performance and Memory finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by