How to apply butterworth filter to a few columns in a table

조회 수: 46 (최근 30일)
Tomaszzz
Tomaszzz 2022년 2월 18일
답변: Mathieu NOE 2022년 2월 18일
I have a 600X10 table. I want to apply butterworth filter for columns from 4 till 9 using this which gives me error:
tab_pelvis = filtfilt(b,a,tab_pelvis(:,4:9));
Error using filtfilt (line 81)
Invalid data type. Arguments must be double matrices.
Can you help please ?

채택된 답변

Star Strider
Star Strider 2022년 2월 18일
Try something like this —
tab_pelvis = filtfilt(b,a,tab_pelvis{:,4:9});
Note the curly braces {}. This will reference the contents of the table rather than the table itself, which is what the parentheses () do here.
.

추가 답변 (1개)

Mathieu NOE
Mathieu NOE 2022년 2월 18일
hello
you can apply your filter on a numerical array , not a table , so convert it using table2array
tab_pelvis_array = table2array(tab_pelvis);
[b,a] = butter(2,0.2,'low'); % IIR filter design example
tab_pelvis_array_filtered = filtfilt(b,a,tab_pelvis_array(:,4:9));

태그

Community Treasure Hunt

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

Start Hunting!

Translated by