how to formulate logical matrix in a loop?
Show older comments
i am having a matrix and want to separate them in the depending on its value
A=[1,2,3,4,5,6,7,8,9,10]
expected result are
idx1=[1,0,0,0,0,0,0,0,0,0] % for 1
...
idx10=[0,0,0,0,0,0,0,0,0,1] % for 10
Accepted Answer
More Answers (1)
madhan ravi
on 24 Oct 2018
Edited: madhan ravi
on 24 Oct 2018
A=[1,2,3,4,5,6,7,8,9,10]
RESULT = zeros(1,numel(A));
RESULT1= RESULT;
for i = 1:numel(A)
idx(i)=A(i)==1;
idx1(i)=A(i)==10;
end
RESULT(idx) = A(idx)
RESULT1(idx1) = A(idx1)
10 Comments
madhan ravi
on 24 Oct 2018
No need to use logical indexing , see the above illustration
Shubham Mohan Tatpalliwar
on 24 Oct 2018
madhan ravi
on 24 Oct 2018
See the edited answer ,problem solved!
Shubham Mohan Tatpalliwar
on 24 Oct 2018
Edited: Shubham Mohan Tatpalliwar
on 25 Oct 2018
madhan ravi
on 24 Oct 2018
Edited: madhan ravi
on 24 Oct 2018
hows this related to the question??? what did you do in the above comment?
Shubham Mohan Tatpalliwar
on 25 Oct 2018
Edited: Shubham Mohan Tatpalliwar
on 25 Oct 2018
madhan ravi
on 25 Oct 2018
I know but you don’t have Use a loop
madhan ravi
on 25 Oct 2018
A=[1,2,3,4,5,6,7,8,9,10]
idy=zeros(1,length(A));
for i=1:1:10
idx22=find(A >=(i) & A<(i+1));
idy(i,idx22)=1;
end
madhan ravi
on 25 Oct 2018
what do you mean by the above code?
madhan ravi
on 25 Oct 2018
What should be the result after the loop?
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!