MATLAB: How to store values on a condition

delete negative elementsmasking

x1=[linspace(0,1,100)]';
x2=[linspace(0,1,100)]';
x3=[1-x1-x2];
x=[];
for i= 1:100
if x3(i,1)>=0
x=[x1 x2 x3]
end
end

Best Answer

mask = x3 >= 0;
x = [x1(mask), x2(mask), x3(mask)];
No loop needed.