matlab 中的 4d 积分
4d integral in matlab
我正在尝试使用包含 4 个相关随机变量的方程式使用 MATLAB 计算积分,因此积分的边界不是常数。
有 2 个指数 pdf、2 个其他超指数和 1 个 Reyleigh CDF 都与 (x - y - z) 相乘。
我正在尝试使用积分 Q = (@(w) integral3(@(x,y,z,w),xmin,xmax,ymin,ymax,zmin,zmax),wmin,wmax 对其进行评估);
我总是遇到错误。这是我的代码:
u_x = 10; % rate!
x_th = .3;
sigma = 1.33;
u_y = 10;
u_w = 100;
a= 1;
fun = @(x,y,z,w) (x - y - z )*u_x*exp(-u_x*x)*u_y*exp(-u_y*y)*((a/(a+1))*(a*u_w)*exp(-a*u_w*w)+((1/(a+1))*(u_w/a))*exp(-u_w*w/a))*((a/(a+1))*(a*u_w)*exp(-a*u_w*z)+((1/(a+1))*(u_w/a))*exp(-u_w*z/a))*(1-exp(-x_th/sigma^2))
xmin = @(y)y;
xmax = @(y,w)y + w;
ymin = 0;
ymax = inf;
zmin = 0;
zmax = @(w) w;
wmin = 0;
wmax = inf;
Q = integral(@(w) integral3(fun,xmin,xmax,ymin,ymax,zmin,zmax),wmin,wmax);
错误信息:
使用 integral3 时出错(第 63 行)
XMIN 必须是浮点标量。
错误 numerical_int>@(w)integral3(fun,xmin,xmax,ymin,ymax,zmin,zmax)
integralCalc/iterateScalarValued 中的错误(第 314 行)
fx = FUN(t);
integralCalc/vadapt 错误(第 132 行)
[q,errbnd] = iterateScalarValued(u,tinterval,pathlen);
积分计算器出错(第 83 行)
[q,errbnd] = vadapt(@AToInfInvTransform,interval);
积分错误(第88行)
Q = integralCalc(fun,a,b,opstruct);
numerical_int 中的错误(第 28 行)
Q =积分(@(w)积分3(乐趣,xmin,xmax,ymin,ymax,zmin,zmax),wmin,wmax);
integral3()
要求 all 下限 为 真实的
数
int()
没有,但需要用syms函数代替功能
句柄
- 对于element-wise计算使用点
.
运算符后跟
有关运营商 like
1) * ---> .* 2) / ---> ./ 3) ^ ---> .^
Read this for more information on how to use int()
for nd
integral
代码如下
syms x y z w
u_x = 10; % rate!
x_th = .3;
sigma = 1.33;
u_y = 10;
u_w = 100;
a= 1;
fun = (x - y - z ).*u_x.*exp(-u_x*x).*u_y.*exp(-u_y.*y)...
.*((a./(a+1)).*(a.*u_w).*exp(-a.*u_w.*w)+((1./(a+1)).*(u_w./a))...
.*exp(-u_w.*w./a)).*((a./(a+1)).*(a*u_w)*exp(-a.*u_w.*z)...
+((1./(a+1)).*(u_w./a))*exp(-u_w.*z./a)).*(1-exp(-x_th./sigma.^2));
xmin = y;
xmax = y + w;
ymin = 0;
ymax = inf;
zmin = 0;
zmax = w;
wmin = 0;
wmax = inf;
% Integrate along x
intx = int(fun, x, xmin, xmax);
% Integrate along y
intxy = int(intx, y, ymin, ymax);
% Integrate along z
intxyz = int(intxy, z, zmin, zmax);
% Integrate along w
intxyzw = int(intxyz, w, wmin, wmax);
value = vpa(intxyzw, 3);
% 2.14e-5
我正在尝试使用包含 4 个相关随机变量的方程式使用 MATLAB 计算积分,因此积分的边界不是常数。
有 2 个指数 pdf、2 个其他超指数和 1 个 Reyleigh CDF 都与 (x - y - z) 相乘。
我正在尝试使用积分 Q = (@(w) integral3(@(x,y,z,w),xmin,xmax,ymin,ymax,zmin,zmax),wmin,wmax 对其进行评估);
我总是遇到错误。这是我的代码:
u_x = 10; % rate!
x_th = .3;
sigma = 1.33;
u_y = 10;
u_w = 100;
a= 1;
fun = @(x,y,z,w) (x - y - z )*u_x*exp(-u_x*x)*u_y*exp(-u_y*y)*((a/(a+1))*(a*u_w)*exp(-a*u_w*w)+((1/(a+1))*(u_w/a))*exp(-u_w*w/a))*((a/(a+1))*(a*u_w)*exp(-a*u_w*z)+((1/(a+1))*(u_w/a))*exp(-u_w*z/a))*(1-exp(-x_th/sigma^2))
xmin = @(y)y;
xmax = @(y,w)y + w;
ymin = 0;
ymax = inf;
zmin = 0;
zmax = @(w) w;
wmin = 0;
wmax = inf;
Q = integral(@(w) integral3(fun,xmin,xmax,ymin,ymax,zmin,zmax),wmin,wmax);
错误信息:
使用 integral3 时出错(第 63 行) XMIN 必须是浮点标量。
错误 numerical_int>@(w)integral3(fun,xmin,xmax,ymin,ymax,zmin,zmax)
integralCalc/iterateScalarValued 中的错误(第 314 行) fx = FUN(t);
integralCalc/vadapt 错误(第 132 行) [q,errbnd] = iterateScalarValued(u,tinterval,pathlen);
积分计算器出错(第 83 行) [q,errbnd] = vadapt(@AToInfInvTransform,interval);
积分错误(第88行) Q = integralCalc(fun,a,b,opstruct);
numerical_int 中的错误(第 28 行) Q =积分(@(w)积分3(乐趣,xmin,xmax,ymin,ymax,zmin,zmax),wmin,wmax);
integral3()
要求 all 下限 为 真实的 数int()
没有,但需要用syms函数代替功能 句柄- 对于element-wise计算使用点
.
运算符后跟 有关运营商 like
1) * ---> .* 2) / ---> ./ 3) ^ ---> .^
Read this for more information on how to use
int()
fornd
integral
代码如下
syms x y z w
u_x = 10; % rate!
x_th = .3;
sigma = 1.33;
u_y = 10;
u_w = 100;
a= 1;
fun = (x - y - z ).*u_x.*exp(-u_x*x).*u_y.*exp(-u_y.*y)...
.*((a./(a+1)).*(a.*u_w).*exp(-a.*u_w.*w)+((1./(a+1)).*(u_w./a))...
.*exp(-u_w.*w./a)).*((a./(a+1)).*(a*u_w)*exp(-a.*u_w.*z)...
+((1./(a+1)).*(u_w./a))*exp(-u_w.*z./a)).*(1-exp(-x_th./sigma.^2));
xmin = y;
xmax = y + w;
ymin = 0;
ymax = inf;
zmin = 0;
zmax = w;
wmin = 0;
wmax = inf;
% Integrate along x
intx = int(fun, x, xmin, xmax);
% Integrate along y
intxy = int(intx, y, ymin, ymax);
% Integrate along z
intxyz = int(intxy, z, zmin, zmax);
% Integrate along w
intxyzw = int(intxyz, w, wmin, wmax);
value = vpa(intxyzw, 3);
% 2.14e-5