replacing all numbers in a certain row

11 views (last 30 days)
Hi Guys Is there a way to replace all values in a row if just one value in the row meet a condition. Given a random 5x5 matrix. my condition is, if one number in a row is equal to -3, then all values in that row must be changed to -3.
To start with I thought that i could make a for loop, and then check each row and see if it meet the condition
Thank you in advance!
-David

Accepted Answer

Stephen23
Stephen23 on 3 May 2018
Edited: Stephen23 on 3 May 2018
Where M is your matrix:
M(any(M==-3,2),:) = -3
For example:
>> M = randi(9,5);
>> M(4,2) = -3
M =
5 2 5 1 7
2 3 5 8 3
6 3 4 9 5
8 -3 9 7 2
5 6 8 8 9
>> M(any(M==-3,2),:) = -3
M =
5 2 5 1 7
2 3 5 8 3
6 3 4 9 5
-3 -3 -3 -3 -3
5 6 8 8 9

More Answers (1)

David Hindahl
David Hindahl on 3 May 2018
Thanks man it works :-)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!