Clear Filters
Clear Filters

Why does the sum of S1 AND S2 ?

1 view (last 30 days)
Tomas
Tomas on 8 Nov 2013
Commented: Walter Roberson on 9 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.

Answers (2)

Azzi Abdelmalek
Azzi Abdelmalek on 8 Nov 2013
Edited: Azzi Abdelmalek on 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 Comments
John D'Errico
John D'Errico on 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 on 8 Nov 2013
I don't know what you want. Can you explain?

Sign in to comment.


Walter Roberson
Walter Roberson on 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 Comments
Tomas
Tomas on 8 Nov 2013
Edited: Tomas on 8 Nov 2013
i don't understand english very well :)
Walter Roberson
Walter Roberson on 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.

Sign in to comment.

Categories

Find more on Migrate GUIDE Apps in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!