why sin(x) is different to sqrt(1-cos(x).^2)
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Luis Isaac
le 30 Déc 2015
Réponse apportée : Walter Roberson
le 30 Déc 2015
Dear, I'm new at matlab programming
I do not undestand why the following results s and s2 are different:
teta=0:pi/10:2*pi;
s=sin(teta);
s2=sqrt(1-cos(teta).^2);
sum(abs(s-s2))
The answer is
ans =
12.6275
But I think that the result should be 0 because sin(x)=sqrt(1-cos(x)^2) Why am I wrong?, where is my mistake?
Sorry for this question and thanks in advance
Réponse acceptée
Walter Roberson
le 30 Déc 2015
sum(sin(teta).^2 + cos(teta).^2 -1) is 0 to within roundoff error.
What you are missing is the adjustment for sign, because sqrt() returns the positive square root only
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements 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!