在 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)

希望有用, 迈克尔