MATLAB Answers

0

A cycle for creating and working with zones

Asked by Lev Mihailov on 3 Sep 2019
Latest activity Commented on by Lev Mihailov on 3 Sep 2019
Hello! I have a long vector line 1x10026, I need to divide it into zones (100 values ​​in each), look at them and do operations with them, and then again deplete it into a single vector line, help me how to do this
Data % my data is in the form of a row vector
for ind=1:100:n % n the length of this string
TF = isoutlier(Data(ind));
TF{i}=TF;
end
I tried this option, but does not consider the value.
1) How can I make these zones with 100 values ​​and what would the tail be considered (those are my 26 values) ???
2) How do I then impoverish them?

  3 Comments

Hey Lev,
you could take a look at 'reshape':
This would require you to pad the vector first, I assume. You could store the original lenght and then cut it back down again after reshaping it to its original size.
Would that work for you?
B = reshape(A,[100,100])
To RESHAPE the number of elements must not change.
is there such an error, or is it possible to make the system iterate over 10 values ​​and write them to the same array?
for ind=1:100 % n the length of this string
TF(ind) = isoutlier(Data(ind))
I try to do so, but only 100 values ​​come out

Sign in to comment.

1 Answer

Answer by Andrei Bobrov
on 3 Sep 2019
 Accepted Answer

n = numel(Data);
ii = ceil((1:n)'/100);
TF = accumarray(ii,Data(:),[],@(x){isoutlier(x)});

  1 Comment

Thank you, perfect option.

Sign in to comment.