0

对于 matlab 问题,我需要整合 fun2 = @(x) 1/(sigma2*(2*pi)^(.5))*exp(-.5*((x-xbar2)/sigma2)^2), where sigma2=50, xbar2=1500.

曲线下的面积应为 0.05,因此我将其设置为solve(integrate(fun2,-inf,u)==.05,u)但出现错误“未定义的函数或变量 'u'”。

我能做些什么来完成这项工作?

4

2 回答 2

1

So here we go:

syms x u
fun = int(1./(50.*(2.*pi).^(.5)).*exp(-.5.*((x-1500)./50).^2),-Inf,u) - .05;
double(solve(fun,u))
于 2013-04-18T07:56:20.240 回答
0

这是一个不需要符号工具箱的解决方案;Matlab的标准寻根算法

>> f = @(u) quadgk(fun2, -inf,u) - 0.05;
>> fzero(f,xbar2)

ans =

     1.417757318652430e+003 

(我使用quadgk是因为我在没有integrate. 的 R2010 上。无论如何都是一样的)。

求根算法fzero找到匿名函数的零通道f,它只是你的原始fun2值减去你想要的值——当原始积分的值达到你选择的值时,它正好通过零。

于 2013-04-18T11:36:44.753 回答