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
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
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 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!