找到最主要的局部极小值
Find most dominant local minima
目前,下面的代码可以找到所有的局部极小值,但我感兴趣的是在1D阵列中找到最主要的/(最强的峰值)。我想知道是否有人能帮我?
for(int v = 1; v < width; v++) {
if (data[v] > data[v - 1] && data[v] > data[v + 1] )
ml.push_back(v);
}
我不确定您想要的是保存最佳(最小)值的位置还是保存值本身,但以下代码可以同时保存这两个值,因为vector
是sdt::vector<double>
类的元素:
size_t position(0); double value(vector[0]);
for (size_t i(1), N(vector.size()); i < N; ++i) {
if (vector[i] < value) {position = i; value = vector[i]; }
}
不管怎样,我想向你推荐《数字食谱》这本教科书,它是科学计算中的参考书(http://www2.units.it/ipl/students_area/imm2/files/Numerical_Recipes.pdf)。在那里你可以找到函数最大化或最小化的完整章节。
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- 最小硬币更换问题(自上而下方法)
- Qt VTK交互风格的信号到小部件
- 芬威克树(BIT).找到具有给定累积频率的最小索引,单位为 O(logN)
- 如何在Qt窗口小部件中使用QStringView(或QStringRef)
- 使用递归的数组的最小值.这是怎么回事
- 为什么在浮点中从大到小会引入更多的误差
- 找到两对数字,使它们的乘积的绝对差最小化
- 这个极客对极客的trie实现是否存在内存泄漏问题
- 如何使用boost::具有嵌套结构和最小代码更改的序列化
- 最大和最小 1 C++函数
- 如何创建一个函数来计算并返回平均值、最大值和最小值
- 我可以做些什么来消除或最小化这种将提供相同功能和行为的代码重复
- 使用的未初始化局部变量'Quick'
- 调用一个小函数两次(例如在if条件和主体中)比将结果存储在局部变量中更可取
- 实现井字游戏的极大极小算法
- 极小极大递归究竟是如何工作的
- 找到最主要的局部极小值
- 神经网络陷入局部极小值
- 浮点数-在c++中处理极小的数字