Why does the sum of S1 AND S2 ?

조회 수: 1 (최근 30일)
Tomas
Tomas 2013년 11월 8일
댓글: Walter Roberson 2013년 11월 9일
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.

답변 (2개)

Azzi Abdelmalek
Azzi Abdelmalek 2013년 11월 8일
편집: Azzi Abdelmalek 2013년 11월 8일
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
John D'Errico
John D'Errico 2013년 11월 8일
I think you misunderstand how while works. It cannot loop over the elements of S1 as you have written it.
Azzi Abdelmalek
Azzi Abdelmalek 2013년 11월 8일
I don't know what you want. Can you explain?

댓글을 달려면 로그인하십시오.


Walter Roberson
Walter Roberson 2013년 11월 8일
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
Tomas
Tomas 2013년 11월 8일
편집: Tomas 2013년 11월 8일
i don't understand english very well :)
Walter Roberson
Walter Roberson 2013년 11월 9일
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.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by