Scanning signal/Storing anything other then zeros

1 次查看(过去 30 天)
Hi
I have a filtered signal where the base line is zero that looks in principle like this:
[0 0 0 -1 2 -2 0 0 0 2 1 -1 0 0 0 2 3 1 0 0 0...]
I wish to scan the signal and store the structures within it in a matrix such as this one:
[-1 2 -2; 2 1 -1; 2 3 1;...]
Which is the most efficient way to do this? Can I use the find function efficiently for this?
  1 个评论
Rik
Rik 2021-6-15
Regarding your flag ("I asked this question, but realized I didn't ask the correct question that I need answered."): what do you want to happen? Should this thread be deleted just because you asked a different question from what you wanted?
If the answer didn't solve your actual problem, why did you mark it as accepted answer? You can post comments with clarifications to make sure you are making clear what you want to know.

请先登录,再进行评论。

采纳的回答

Mathieu NOE
Mathieu NOE 2021-6-14
hello
my suggestion / demo code :
I understand the output must be a matrix of 3 columns;
tol = eps; % set a tolerance value (very low but not zero)
a = [0 0 0 -1 2 -2 0 0 0 2 1 -1 0 0 0 2 3 1 0 0 0]; % input data
b = a(abs(a)>tol); % remove zero (below tol) data
c = (reshape(b,[],3))'; % reshape in 3 columns matrix and transpose
c =
-1 2 -2
2 1 -1
2 3 1

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by