Algorithm 寻找一种特殊的数值积分算法

Algorithm 寻找一种特殊的数值积分算法,algorithm,numerical-methods,numerical,numerical-integration,Algorithm,Numerical Methods,Numerical,Numerical Integration,考虑以下微分方程 f(x)=g'(x) 我有一个构建代码,它为变量x吐出函数f(x)的值,其中x从0变为非常大 现在,我正在寻找一个方案,该方案将分析f(x)的这些值,以确定g(x)。有人有什么建议吗?主要的问题是,如果我要计算g(x)=积分(f(x)*dx),那么我只会得到一个数字(即图形下方的区域),但我需要知道g(x)的实际函数 我在这里交叉张贴了这个问题: 数值积分总是只返回一个数字 如果您不想要数字而是函数 然后,您不能直接对该任务使用数值积分 多项式方法 您可以使用任何近似/插

考虑以下微分方程
f(x)=g'(x)

我有一个构建代码,它为变量
x
吐出函数
f(x)
的值,其中
x
0
变为
非常大

现在,我正在寻找一个方案,该方案将分析
f(x)
的这些值,以确定
g(x)
。有人有什么建议吗?主要的问题是,如果我要计算
g(x)=积分(f(x)*dx)
,那么我只会得到一个数字(即图形下方的区域),但我需要知道
g(x)
的实际函数

我在这里交叉张贴了这个问题:

  • 数值积分总是只返回一个数字

    • 如果您不想要数字而是函数
    • 然后,您不能直接对该任务使用数值积分
  • 多项式方法

    • 您可以使用任何近似/插值技术获得表示
      f(x)
    • 然后积分为标准多项式(仅改变指数和乘法常数)
    • 这不适用于超验、周期性或复杂形状的函数
    • 最常用的方法是使用L’Grange或泰勒级数
    • 对于这两种情况,您都需要一个能够为任何给定的
      x
      返回
      f(x)
      值的解析器
  • 代数积分

    • 这对于任何
      f(x)
      都是不可解的,因为我们不知道如何集成所有东西
    • 因此,您需要为集成编写所有规则
    • 像每一部分,替换,Z或L'Place变换
    • 并在字符串/符号范例中编写求解器
    • 这是巨大的工作量
    • 可能有lib或dll可以做到这一点
    • 从程序,如衍生或Matlab
  • [edit1]因为函数
    f(x)
    只是一个表格

    • 双f[][2]={x1,f(x1),x2,f(x2),…xn,f(xn)}
    • 您可以为
      g(x)=整数(f(x))
      以间隔
    • 因此:

      g(x1)=f(x1)*(x1-0)
      g(x2)=f(x1)*(x1-0)+f(x2)*(x2-x1)
      g(x3)=f(x1)*(x1-0)+f(x2)*(x2-x1)+f(x3)*(x3-x2)
      ...
      
    • 这只是一个表,所以如果你想要实际函数,你需要通过L’Grange或任何其他插值将其转换为多项式

    • 您还可以将DFFT和用作函数的一组正弦波

    对不起,我习惯用LaTeX写作,我会尝试找到正确的编辑。这个公式对我来说真的很混乱(在两个问题中),所以我想澄清一下唯一对我有意义的组合是:
    p(t)=q'(t)
    q(t)
    t
    导出,
    t
    是变量(时间),
    p(t),q(t)
    t
    的函数,
    q(t)
    是未知的。那么,q(t)=积分(p(t)*dt)
    是什么形式的p(t)?它是多项式,是方程的文字表示,它是任意函数吗?还有哪些约束条件(t的范围)和边界条件?请澄清,因为现在是这样unanswerable@Spektre谢谢你的建议。我已经编辑了我的问题,使用了更传统的符号。但基本上你写的是正确的。函数
    g(x)
    是未知的。但主要的问题是,如果我计算了
    g(x)=积分(f(x)*dx)
    ,那么我只会得到一个数字(即图形下方的区域),但我需要知道实际的函数。哦,
    f(x)
    是一个任意函数。
    f(x)
    是什么形式?它是一个字符串,它是一个表示多项式的数组?它是一棵树。。。。这是解决这个问题的关键信息