how to solve this equation?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Ankit agrawal
le 6 Sep 2015
Modifié(e) : Mohammad Abouali
le 6 Sep 2015
(1+cost)(tcost-sint)=2K(sint^2), where k is a constant
0 commentaires
Réponse acceptée
Mohammad Abouali
le 6 Sep 2015
Modifié(e) : Mohammad Abouali
le 6 Sep 2015
well a quick look at the equation, t=0 is always the solution regardless of the value of K.
However, if you want to solve these numerically you can choose an approach like below:
K=2;
fun=@(t) (1+cos(t)).*(t.*cos(t)-sin(t))-2*K*(sin(t).^2);
% or the following. Not sure which one you want.
% fun=@(t) (1+cos(t)).*(t.*cos(t)-sin(t))-2*K*(sin(t.^2));
Options=optimset(@fsolve);
Options.TolFun=1e-10;
[x,fval,exitflag,output] = fsolve(fun,1,Options)
x =
1.4560e-04
fval =
-8.4804e-08
exitflag =
1
output =
iterations: 12
funcCount: 26
algorithm: 'trust-region-dogleg'
firstorderopt: 9.8791e-11
message: 'Equation solved.
fsolve completed because the vector of function values is near zero
as measured by the selected valu...'
2 commentaires
Mohammad Abouali
le 6 Sep 2015
Modifié(e) : Mohammad Abouali
le 6 Sep 2015
Sure you can.
K=2;
fun1=@(t) (1+cos(t)).*(t.*cos(t)-sin(t));
fun2=@(t) 2*K*(sin(t.^2));
ezplot(fun1,[1,pi])
hold on
h=ezplot(fun2,[1,pi]);
set(h,'Color','r')
legend('(1+cost)(tcost-sint)','2K(sint^2)')
where fun is your function defined in previous code.
BTW, if you are interested in the solution between the [1,pi] you can use fminbnd function as follow:
fminbnd(fun,1,pi)
ans =
1.2915
fminbnd(fun,1.3,pi)
ans =
2.7949
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Systems of Nonlinear Equations dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!