matlab中积分区间是自变量的函数,怎么积分
比如说:已知μ=25,σ=6,求积分随g0的变化x=0:pi/10:10*pi;m=(-0.189-(0.035721-0.148x)^0.5)*((-0.0074)*(...
比如说:
已知μ=25,σ=6,求积分随g0的变化
x=0:pi/10:10*pi;m=(-0.189-(0.035721-0.148x)^0.5)*((-0.0074)*(-1));n=(-0.189+(0.035721-0.148x)^0.5)*((-0.0074)*(-1));c=m:0.01:n;y=(((2*pi)^0.5)*6)^(-1)*exp(-((c-25).^2)*(72^(-1)));z=trapz(c,y);plot(x,z);
我觉得我想的太简单了,是不是还要调用函数? 展开
已知μ=25,σ=6,求积分随g0的变化
x=0:pi/10:10*pi;m=(-0.189-(0.035721-0.148x)^0.5)*((-0.0074)*(-1));n=(-0.189+(0.035721-0.148x)^0.5)*((-0.0074)*(-1));c=m:0.01:n;y=(((2*pi)^0.5)*6)^(-1)*exp(-((c-25).^2)*(72^(-1)));z=trapz(c,y);plot(x,z);
我觉得我想的太简单了,是不是还要调用函数? 展开
1个回答
展开全部
按你的程序是有问题,如开平方出现虚数后,就无法再算下去。我改了一下,看能不能达到你的预想:
g=0.189^2/0.148-0.1;
x=0:pi/100:g;
m=(-0.189-(0.189^2-0.148*x).^0.5)*((-0.0074)*(-1));
n=(-0.189+(0.189^2-0.148*x).^0.5)*((-0.0074)*(-1));
ms=sort(m);
ns=sort(n);
xlen=length(x);
for k=1:xlen
c=linspace(m(k),n(k),xlen);
y=(((2*pi)^0.5)*6)^(-1)*exp(-((c-25).^2)*(72^(-1)));
z=trapz(c,y,2)
figure
plot(x,y)
end
g=0.189^2/0.148-0.1;
x=0:pi/100:g;
m=(-0.189-(0.189^2-0.148*x).^0.5)*((-0.0074)*(-1));
n=(-0.189+(0.189^2-0.148*x).^0.5)*((-0.0074)*(-1));
ms=sort(m);
ns=sort(n);
xlen=length(x);
for k=1:xlen
c=linspace(m(k),n(k),xlen);
y=(((2*pi)^0.5)*6)^(-1)*exp(-((c-25).^2)*(72^(-1)));
z=trapz(c,y,2)
figure
plot(x,y)
end
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询