Effacer les filtres
Effacer les filtres

for if matrix

1 vue (au cours des 30 derniers jours)
Amit
Amit le 3 Fév 2012
Modifié(e) : Andreas le 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 commentaire
Jan
Jan le 4 Fév 2012
Which error?

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 4 Fév 2012
Change the '= <' to '<=' (without the apostrophes.)
  9 commentaires
Walter Roberson
Walter Roberson le 4 Fév 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 le 4 Fév 2012
Thanks Walter

Connectez-vous pour commenter.

Plus de réponses (1)

Jan
Jan le 4 Fév 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 commentaire
Amit
Amit le 4 Fév 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.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by