Filter löschen
Filter löschen

for if matrix

1 Ansicht (letzte 30 Tage)
Amit
Amit am 3 Feb. 2012
Bearbeitet: Andreas am 30 Sep. 2013
for i=1:n-1
for j=1:n-1
for r=1:332
if i + r > 333
data(i+r,:)=0;
*else if i-r = < 0
data(i-r,:)=0;*
else if j+r > 333
data(:,j+r)=0;
else if j-r = < 0
data(:,j-r)=0;
end
end
end
end
end
end
end
Please tell me how I can correct the error at i-r = < 0
  1 Kommentar
Jan
Jan am 4 Feb. 2012
Which error?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 4 Feb. 2012
Change the '= <' to '<=' (without the apostrophes.)
  9 Kommentare
Walter Roberson
Walter Roberson am 4 Feb. 2012
Your line s=s+data(i+r,j)+data(i-r,j) is outside of any of your "if" tests, so it is going to always be executed. It will cause a problem if i-r is 0 or negative.
Amit
Amit am 4 Feb. 2012
Thanks Walter

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Jan
Jan am 4 Feb. 2012
Do you really have a space between the = and the < ? If so, remove it.
Please add the error message. Otherwise we have to guess, what your problem might be.
  1 Kommentar
Amit
Amit am 4 Feb. 2012
Error: File: file.m Line: 19 Column: 33
The expression to the left of the equals sign is not a
valid target for an assignment.

Melden Sie sich an, um zu kommentieren.

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by