2010-07-27 37 views
0

我想解决这个问题:集成MATLAB

alt text http://img265.imageshack.us/img265/6598/greenshot20100727091025.png

我不想用 “INT”,我想用 “四” 家庭(四,dblquad,triplequad) 但我不能。 你能帮助我吗?

+1

您的问题中缺少引号,另外您需要在问题中显示问题的相关部分以及错误消息,不要期望人们从其他网站下载内容。 – 2010-07-27 12:08:45

+0

是的,但我不知道在这个页面写积分。 – Elmoya 2010-07-27 12:12:12

回答

2

告诉你的积分是

  1. 分析上可解:总是做分析你可以

  2. 等于号:常量表达式应该从数值计算

  3. 没有消除容易在MATLAB中计算(或非常正确)。

您可以使用cumtrapz每个变量仅仅整合了过来,并调用trapz最后的整合。请记住,这会在任何比简单的线性函数总和更复杂的问题上炸掉错误。

Mathematica更适合于nD集成,如果您有权访问该集成。

1

MATLAB可以做象征性的整合

>> x = sym('x'); y = sym('y'); z = sym('z'); u = sym('u'); v = sym('v'); 
>> int(int(int(int(int(x+y+z+u+v,1,5),-2,3),0,1),-1,1),0,1) 

ans = 

180 
+1

只有您有符号包... – Kena 2010-07-27 18:21:00

0

只注意到你想要做的数字,而不是象征性的整合

如果你看一下dblquad的来源和triplequad

>> edit dblquad 

你看他们只是称之为较低版本。 应该可以添加一个quadquad和quintquad(或者递归n-quad)

4

我假设你真正的问题比这个微不足道的更复杂。最好的解决方案就是使用符号整数。数值积分为什么很难?

一维数值积分通常需要约100个函数评估。 (确切的数字将取决于所需的精确度,限制等)。这使得二维积分通常需要大约100^2 = 10000个功能评分。所以一个自适应的5d积分将需要100^5 = 1e10的函数评估。 (这里只是一个非常粗略的数量级估计)我的观点是,你根本就不想这么做!

更好的是减少复杂性问题。如果你的积分是可分离的(就像这个),那就这样做吧!将五维问题归结为多个一维问题。

此外,在很多情况下,我看到有人希望对高斯PDF进行数值积分。看到这很容易通过调用erf或erfc来解决,再加上转换。重点在于,在许多情况下,特殊功能被定义为大大降低问题的复杂性。

我应该补充说,在很多情况下,解决数学难题的关键是用数学来减少问题的简单性。如果你能找到一种方法来减少问题的维度,那么它会变得更加易于理解。