what's wrong with the code

for i=1:n
for j=1:n
if (5<i<15 & 8<j<12 & j=i) {d(i,j)=1};
else d(i,j)=0;
end
end
end

1 件のコメント

Youssef  Khmou
Youssef Khmou 2013 年 3 月 25 日
Identity matrix In?

回答 (3 件)

Matt J
Matt J 2013 年 3 月 25 日
編集済み: Matt J 2013 年 3 月 25 日

1 投票

Of course, the whole thing could be done much more simply and without loops,
z=zeros(1,n);
z(min(9:11,n))=1;
d=diag(z);
Azzi Abdelmalek
Azzi Abdelmalek 2013 年 3 月 25 日

0 投票

n=40
for i=1:n
for j=1:n
if (5<i & i<15 & 8<j & j<12 & j==i) d(i,j)=1;
else d(i,j)=0;
end
end
end
Youssef  Khmou
Youssef Khmou 2013 年 3 月 25 日
編集済み: Youssef Khmou 2013 年 3 月 25 日

0 投票

modify,
for i=1:n
for j=1:n
if (5<i<15 && 8<j<12 && j==i)
d(i,j)=1;
else d(i,j)=0;
end
end
end

1 件のコメント

Walter Roberson
Walter Roberson 2013 年 3 月 25 日
This has the same bug as the original. 5<i<15 means ((5<i)<15) which means "(true (1) or false (0)) < 15" which is always true.

この質問は閉じられています。

タグ

質問済み:

2013 年 3 月 25 日

閉鎖済み:

2021 年 8 月 20 日

Community Treasure Hunt

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

Start Hunting!

Translated by