Why does the sum of S1 AND S2 ?

1 visualizzazione (ultimi 30 giorni)
Tomas
Tomas il 8 Nov 2013
S1=[23.6000 58.4000 47.4000 101.7000 29.9000 36.8000] S2=[23.6000 58.4000 47.4000 67.1000 29.9000 71.4000]
c=0; while (S1~=S2)
c=S1+S2
end
c
Why does the sum of S1 AND S2 ?
Thanks.

Risposte (2)

Azzi Abdelmalek
Azzi Abdelmalek il 8 Nov 2013
Modificato: Azzi Abdelmalek il 8 Nov 2013
Maybe you want
S1=[23.6000 58.4000 47.4000 101.7000 29.9000 36.8000]
S2=[23.6000 58.4000 47.4000 67.1000 29.9000 71.4000]
c=0;
while ~isequal(S1,S2)
c=S1+S2
end
  2 Commenti
John D'Errico
John D'Errico il 8 Nov 2013
I think you misunderstand how while works. It cannot loop over the elements of S1 as you have written it.
Azzi Abdelmalek
Azzi Abdelmalek il 8 Nov 2013
I don't know what you want. Can you explain?

Accedi per commentare.


Walter Roberson
Walter Roberson il 8 Nov 2013
Your while loop does not change S1 or S2, so the body will either not be done at all (if the condition does not hold at the beginning) or will be done repeatedly without end.
  4 Commenti
Tomas
Tomas il 8 Nov 2013
Modificato: Tomas il 8 Nov 2013
i don't understand english very well :)
Walter Roberson
Walter Roberson il 9 Nov 2013
A = 0.3 - 0.2 - 0.1;
B = 0;
if A == B
disp('the two are equal')
else
disp('the two are not equal')
end
if abs(A-B) < eps(0.3)
disp('the two are approximately equal')
else
disp('the two are not approximately equal')
end
Do not compare floating point numbers for equality.
Also, you are comparing two arrays. Read the documentation for "if"
An evaluated expression is true when the result is nonempty and contains all nonzero elements (logical or real numeric). Otherwise, the expression is false.

Accedi per commentare.

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by