Filter löschen
Filter löschen

why sin(x) is different to sqrt(1-cos(x).^2)

3 Ansichten (letzte 30 Tage)
Luis Isaac
Luis Isaac am 30 Dez. 2015
Beantwortet: Walter Roberson am 30 Dez. 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
  1 Kommentar
Luis Isaac
Luis Isaac am 30 Dez. 2015
Sorry for the question: The answer is the absolute value: sqrt(x^2)~=x and sqrt(x^2)==abs(x)!!!

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 30 Dez. 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

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by