Я использую MATLAB для анализа некоторых данных, собранных экспериментально.
После использования функций envelop
e и abs
я использую функцию fit
, чтобы получить требуемое уравнение, которое мне нужно вывести в квадрат, а затем интегрировать.
Код, который у меня есть для получения уравнения и его интеграции, выглядит следующим образом:
[yupper,ylower] = envelope(signal,1000,'peak');
dat = abs(yupper);
fitted = fit(x,dat,'linearinterp');
% Create a new function handle
fitted = @(x)fitted(x);
q = integral(fitted, 3e4,9e4, 'ArrayValued', 1)
Чтобы возвести в квадрат функцию, которую я использую (используется с .
in .^
и без него):
%square fitted
fitted = fitted.^2;
Я борюсь, когда пытаюсь поставить квадрат f
перед преобразованием в дескриптор функции, я получаю ошибку (я):
Undefined operator '.^' for input arguments of type 'cfit'.
Error in findenergyfromfitcurve (line 5) fitted = fitted.^2;
Undefined operator '^' for input arguments of type 'cfit'.
Error in findenergyfromfitcurve (line 5) fitted = fitted^2;
и когда я преобразую в дескриптор функции, то в квадрат я получаю те же ошибки для дескриптора функции:
Undefined operator '^' for input arguments of type 'function_handle'.
Error in findenergyfromfitcurve (line 10)
fitted = fitted^2;
Undefined operator '.^' for input arguments of type 'function_handle'.
Error in findenergyfromfitcurve (line 10)
fitted = fitted.^2;
Вкратце - как мне вывести значение функции fit
?