两个变量和参数列表的数值积分?

问题描述 投票:0回答:1

在 MATLAB 文档中,他们有一个使用一个参数

c
对单个变量进行数值积分的示例:

fun = @(x,c) 1./(x.^3-2*x-c);
q = integral(@(x)fun(x,5),0,2)

如果我想对两个变量或者两个参数进行数值积分怎么办?

matlab numerical-methods numerical-integration calculus
1个回答
0
投票

如果你想对两个变量进行积分,你需要使用

integral2

具有两个变量的示例:

fun = @(x,y) 1./( sqrt(x + y) .* (1 + x + y).^2 );
ymax = @(x) 1 - x;
q = integral2(fun,0,1,0,ymax)

q =
    0.2854

如果您想要多个参数,并且需要两个变量:

fun = @(x,y,c,d) c./(sqrt(x + d*y) .* (1 + x + y).^2);
ymax = @(x) 1 - x;
q = integral2(@(x,y) fun(x,y,3,4),0,1,0,ymax)

q =
0.5708

或者简单地说:

c = 3; d = 4;
fun = @(x,y) c./( sqrt(x + d*y) .* (1 + x + y).^2 )
ymax = @(x) 1 - x;
q = integral2(fun,0,1,0,ymax)

q = 
    0.5708
© www.soinside.com 2019 - 2024. All rights reserved.