数值设计一个周期性的一维曲线,使积分面积目标最大化并满足值、导数和频率约束

计算科学 优化 matlab 近似 傅立叶分析
2021-12-04 01:36:18

我需要编写 MATLAB 程序(或使用现有程序)来获得傅立叶级数系数​​。假设该系列将逼近一维曲线。边界条件为:

  • 曲线函数在几个地方的值
  • 曲线的一阶导数在一些地方已知
  • 曲线二阶导数的最大允许值
  • 谐波数
  • 曲线在指定区间内的积分值应尽可能大 <- 优化标准。

到目前为止,我看到的所有函数和工具都可以在更简单的情况下获得级数系数。任何提示都会有所帮助,尤其是:

  • 文献,描述有用方法的文章
  • 对傅里叶级数有用的目标函数的提示
  • 有关有用的 MATLAB 工具的信息
1个回答

将您的函数写为谐波的线性组合,并将系数视为变量。这给出了一个半无限线性规划。Matlab 优化工具箱有一个例程 linprog,仅用于求解线性规划 (LP);所以你需要离散曲率约束。

将曲率约束替换为NN等距点,求解 LP,在接近最坏情况曲率发生的点附近添加更多点,然后重复直到达到所需的精度。