У меня есть данные, которые я отфильтровал с помощью фильтра, созданного через designfilt. Во время оптимизации в вызове designfilt было небольшое узкое место (~ 1,7 секунды). Когда я открыл код через профилировщик, я понял, что одна строка кода занимает 1,7 секунды:
Понятия не имею, что это значит в контексте моего фильтра или как это исправить.
Код по-прежнему работает и фильтруется правильно, поэтому единственной причиной его исправления будет ускорение кода.
Мой дизайн фильтра:
filt = designfilt('lowpassiir','FilterOrder',2, ...
'HalfPowerFrequency',0.22,'DesignMethod','butter');
Строка в фильтре, выделенная профилировщиком:
[err,requestedResponse,parseParams,h] = parseAndDesignFilter(inputParamValueNames, varargin{:});
% If there was an error:
% 1) If fdesign code was generated, evaluate it to
% make sure that we error out in cases where we have valid specification
% sets, but with an invalid specified value (this can happen when the
% error is due to incorrect design methods, design options, or due to
% unknown parameters, here the generated fdesign code will contain user
% defined parameter values).
% 2)Parse input parameters.