MATLAB: Array Indexing with For Loop

for loopindexing

Hello all,
Ive a simple problem that probably has a simple solution that I cant quite grasp as I am a bit of a novice.
I have an array of size 103×15, through which I have some negative values. I want to extract the position of these values into another array so that I can highlight and then total them up and find the percentage of negative values as a proportion of all the data.
Thank you!
for n=1:length(X)
neg=find(X(n,1:15)<0)
end

Best Answer

I’m not certain what you want to do.
See if this works in your application:
X = randn(103, 15); % Normally-Distributed Random Numbers
neg = X < 0; % Logical Array Of Positions Of Negative Values
nr_neg = sum(neg,'all'); % Can Alse Use ‘nnz’ Instead Of Sum
sum_neg = sum(X(neg),'all'); % Sum Of All Negative Elements
prop_neg = nr_neg / numel(X); % Proportion Of Elements That Are Negative
prop_neg_vals = sum_neg / sum(X,'all'); % Sum Of Negative Values As Proportion Of All Values
.