On Sun, Sep 17, 2017 at 10:08 AM, michele <address@hidden
<mailto:address@hidden>> wrote:
On 09/17/2017 01:15 PM, Pablo Fernández Bustamante wrote:
Hi,
I want the elements of a matrix M_ to be equal to those of an
original matrix M but only if they satisfy a certain condition,
otherwise write a zero.
The following lines of code work as expected but I want to avoid the
loop if it is possible.
>> M = floor(rand(5, 4)*10);
>> [r, c] = find(M > 4);
>> M_ = zeros(5, 4);
>> for n = 1:length(r)
M_(r(n), c(n)) = M(r(n), c(n));
endfor
I have tried
M_ = M(find(M>4));
but that returns a column vector of the elements which satisfy
the condition.
Thanks in advance,
Pablo
_______________________________________________
Help-octave mailing list
address@hidden <mailto:address@hidden>
https://lists.gnu.org/mailman/listinfo/help-octave
<https://lists.gnu.org/mailman/listinfo/help-octave>
You can do like this:
M = floor(rand(5,4)*10);
M1 = zeros(5,4);
M1(M>4) = M(M>4);
Bests,
--
Michele Ginesi
_______________________________________________
Help-octave mailing list
address@hidden <mailto:address@hidden>
https://lists.gnu.org/mailman/listinfo/help-octave
<https://lists.gnu.org/mailman/listinfo/help-octave>
_______________________________________________
Help-octave mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/help-octave