如何对cfit的结果进行平方?
How to square the result of cfit?
我正在使用 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)
计算我正在使用的函数的平方(使用和不使用 .^
中的 .
):
%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
函数输出的平方?
我认为这可以解决问题:
fsq = @(x)f(x).^2;
我希望它能工作,因为你会计算 numbers 的平方(f(x)
的输出)而不是函数句柄或 cfit 对象(对象 f
本身)。
我正在使用 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)
计算我正在使用的函数的平方(使用和不使用 .^
中的 .
):
%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
函数输出的平方?
我认为这可以解决问题:
fsq = @(x)f(x).^2;
我希望它能工作,因为你会计算 numbers 的平方(f(x)
的输出)而不是函数句柄或 cfit 对象(对象 f
本身)。