0

我有一个积分方程,我需要用 Matlab 进行数值求解,但我目前陷入困境。我只需要一些关于如何用 Matlab 处理这些问题的关键思想的帮助,所以我将把它从大多数数学中剥离出来。

在此处输入图像描述

在我的代码Z中,g和 omega:w是相同大小的向量,Z(1)对应于w(1)等,并且f是一个函数。

我如何w-w_prime以最好的方式对待“转变”?当w-w_prime对应于外部Zg. Z我一直在想,在我的问题中,我可以使用,g和对应于偶数函数的事实f,但我不太清楚如何使用。

4

1 回答 1

0

一些想法可以帮助您入门:

  1. 您可能应该定义您希望 Z 存在的域;你应该设置Z=0在这个域之外。这将帮助您处理这样一个事实,即您的表达式正在为所有可能的 ω 值评估 Z
  2. convn函数可能对评估“积分”很有帮助——尽管它实际上只会执行 sum-shift-add 类型的运算,因此并不是真正正确的数值积分。
  3. matlab 的优化工具箱中内置了各种非线性求解器——当我有像这样难以求解的方程时,我发现使用这些求解器非常方便。
  4. 你的生活变得更加复杂,因为(我想你说)你在对应于 ω 的点处列出了 Z 的值 - 因此这些点可能不是等距的。对于像convn您需要相等间距的函数,您可能想要进行插值:

    Zequal = interp1(w, Z, 1:maxW);

会给你等间距的 Z 值(基于在点 (w, Z(w)) 处观察到的值。你可以使用更高阶的插值(例如interp1(w, Z, 1:maxW, 'cubic');)来获得更平滑的函数。

这些只是让你(和其他阅读这篇文章的人)开始的一些想法......

于 2014-05-03T16:55:48.857 回答