【问题标题】:How to evaluate the following integrals for different values?如何评估不同值的以下积分?
【发布时间】:2016-11-22 13:21:33
【问题描述】:

我想用被积函数计算以下定积分如下: J A(u)B(u),下限为0,上限为T。这里J是一个行向量[1 1 1]A(u)是一个方阵,B(u)是另一个列向量。例如,A(u) 采用以下形式 diag([f_1(u) f_2(u) f_3(u)]) A diag([f_1(u) f_2(u) f_3(u)])B(u) 是一个列向量,比如[g_1(u);g_2(u);g_3(u)]'

我想要的是,当我输入T 作为向量时,比如[1:1:100],我可以得到100 个确定的整数值。有什么好的方法可以解决这些问题吗?为简单起见,f_1f_2f_3g_1g_2g_3 可以视为分段常数函数。

【问题讨论】:

  • this 回答你的问题了吗?

标签: matlab numerical-methods numerical-integration


【解决方案1】:

Matlab 有多种方法可以对定积分进行数值计算:

所有这些技术都是进行正交积分的特定方法。有些适用于振荡积分,有些适用于无限限制等。我通常会尝试所有这些,然后再决定哪一个最适合给定问题?。

一旦您将被积函数 J * A(u) * B(u) 实现为函数,您就可以使用该函数句柄和限制调用任何这些求积函数,以获得定积分。

然后,一旦有了单个定积分的表达式,就可以使用@EBH 中提到的arrayfun 来计算上限范围的定积分。

如果您指定 f_1 等是什么,我们可以帮助您编写一些优雅的代码来执行此操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-22
    • 1970-01-01
    • 2011-07-20
    • 1970-01-01
    • 1970-01-01
    • 2017-05-16
    • 1970-01-01
    • 2019-04-10
    相关资源
    最近更新 更多