assign values from logial vector to a new matrix with the same size

1 view (last 30 days)
function B = functionA(A)
B = zeros(size(A));
D= A>0;
B = A(D);
I want to assign the values of A that met the condition (>0) to a matrix B of the same size as A. I wand a matrix B with zeros, the same size as A and the values of matrix A. Does anyone has a hint how to do this?

Answers (2)

Arthur Goldsipe
Arthur Goldsipe on 7 Mar 2018
Edited: Arthur Goldsipe on 8 Mar 2018
You can use an indexing variable like D on both the left and right side of an assignment. If I understand your questions, you can get what you want by changing the last line of your sample code to the following:
B(D) = A(D);

Jos (10584)
Jos (10584) on 8 Mar 2018
function B = functionA(A)
B = A
B(~(A>0)) = 0

Categories

Find more on Multidimensional Arrays in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!