MATLAB Answers

A cycle for creating and working with zones

2 views (last 30 days)
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));
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?


Sebastian Gross
Sebastian Gross on 3 Sep 2019
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?
Lev Mihailov
Lev Mihailov on 3 Sep 2019
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?
Lev Mihailov
Lev Mihailov on 3 Sep 2019
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.

Accepted Answer

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

  1 Comment

Sign in to comment.

More Answers (0)

Sign in to answer this question.