MATLAB:如何在matlab中计算指数函数的积分?

时间:2014-03-07 11:14:15

标签: matlab

这是我用过的代码:

delta=2*10^-6;
f=@(z) ('exp((z^2)/(2*(delta^2))))/(delta*sqrt(2*pi))');
z=0:(0.1*10^-6):(5*10^-6);
integral(f,0,(5*10^-6))

出现以下错误消息:

Error using integralCalc/finalInputChecks (line 511)
Input function must return 'double' or 'single' values. Found
'char'.

Error in integralCalc/iterateScalarValued (line 315)
                finalInputChecks(x,fx);

Error in integralCalc/vadapt (line 133)
            [q,errbnd] = iterateScalarValued(u,tinterval,pathlen);

Error in integralCalc (line 76)
        [q,errbnd] = vadapt(@AtoBInvTransform,interval);

Error in integral (line 89)
Q = integralCalc(fun,a,b,opstruct);

Error in interfacetemp (line 4)
integral(f,0,(5*10^-6))

我正在尝试计算以下积分:exp((z ^ 2)/(2 *(delta ^ 2))))/(delta * sqrt(2 * pi))其中delta是标准偏差功能和已知是(2 * 10 ^ -6)。有人有什么想法吗?

1 个答案:

答案 0 :(得分:3)

请尝试使用此代码。

delta = 2e-6;
f = @(z) exp((z.^2)/(2*(delta.^2)))/(delta*sqrt(2*pi));
integral(f, 0, 5e-6)

您的函数不应介于引号之间,您必须使用.^来计算指数