If-statement = true then replace column with specfic value - How to?

Hey
I'm trying to replace a whole column with a specific value if the number already appears in the column
Any suggestions?
My current output is the same as the input except for the one space where -3 appears it replaces it with 0 for some reason
m = size(input, 1);
n = size(input, 2);
for i = 1:n
for j = 1:m
if (input(i,j) == -3)
inputTemp(i,:) = -3;
i = i + 1;
else
inputTemp(i,j)= input(i,j);
end
end
end

2 commentaires

Hello,
Why do you put
i = i + 1;
in your code?
Because if -3 appears once in the column it needs to replace the whole column with -3 and then go to the next :)

Connectez-vous pour commenter.

 Réponse acceptée

KALYAN ACHARJYA
KALYAN ACHARJYA le 25 Juin 2019
Modifié(e) : KALYAN ACHARJYA le 25 Juin 2019
[m n]=size(input);
for i=1:m
for j=1:n
if input(i,j)==-3
inputTemp(i,:)=-3;
end
end
end
Same code can be implemeneted without loop-Recomended
inputTemp?? Please note you are not going to "replace column with specfic value"
As per the code, when any element =-3, then only respective row elements (definitely all columns) are forced to -3.

1 commentaire

Ah yeah, I see - nice! I've got it working. Thanks for your time :-)
[m n]=size(input);
for i=1:m
for j=1:n
if input(i,j)==-3
input(:,j)=-3;
end
end
end

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by