在 MATLAB 中定义函数
Define a function in MATLAB
我写了一个代码来根据函数 J
计算积分 ParEa
如下:
Laa = 0.01;
ja = 1;
De = 0.001;
J = @(Oma) ja.* Oma .*exp(-Oma/Laa);
ParEaa = @(Oma) pi.^(-1).*J./(Oma.*(Oma + De));
IParEaa = integral(ParEaa, 0, inf)
但它给出了错误:
Undefined function or method 'integral' for input arguments of
type 'function_handle'.
Error in ==> sample at 9
IParEaa = integral(ParEaa, 0, inf)
我想计算积分而不用J
的显式代入ParEa
?我应该怎么做?
我认为您混淆了符号积分和数字积分。
我无法使用 Matlab 检查,但我建议如下:
数值模拟:
J = @(Oma) ja.* Oma .*exp(-Oma/Laa);
ParEaa = @(Oma,J) pi.^(-1).*J./(Oma.*(Oma + De));
IParEaa = integral(ParEaa, 0, inf)
对于符号积分:
syms oma
expr = pi^(-1)*(ja*Oma*exp(-Oma/Laa))/(Oma*(Oma + De));
int(expr,oma,0,inf)
希望有用,
迈克尔
我写了一个代码来根据函数 J
计算积分 ParEa
如下:
Laa = 0.01;
ja = 1;
De = 0.001;
J = @(Oma) ja.* Oma .*exp(-Oma/Laa);
ParEaa = @(Oma) pi.^(-1).*J./(Oma.*(Oma + De));
IParEaa = integral(ParEaa, 0, inf)
但它给出了错误:
Undefined function or method 'integral' for input arguments of type 'function_handle'.
Error in ==> sample at 9 IParEaa = integral(ParEaa, 0, inf)
我想计算积分而不用J
的显式代入ParEa
?我应该怎么做?
我认为您混淆了符号积分和数字积分。 我无法使用 Matlab 检查,但我建议如下:
数值模拟:
J = @(Oma) ja.* Oma .*exp(-Oma/Laa);
ParEaa = @(Oma,J) pi.^(-1).*J./(Oma.*(Oma + De));
IParEaa = integral(ParEaa, 0, inf)
对于符号积分:
syms oma
expr = pi^(-1)*(ja*Oma*exp(-Oma/Laa))/(Oma*(Oma + De));
int(expr,oma,0,inf)
希望有用, 迈克尔