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

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

Accepted Answer

Star Strider
Star Strider on 18 Feb 2022
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.
.

More Answers (1)

Mathieu NOE
Mathieu NOE on 18 Feb 2022
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!