在matlab中找到全局最大值

时间:2011-09-23 16:39:15

标签: math matlab

任何人都可以知道如何在matlab中找到信号的全局最大值。

任何帮助都将受到高度赞赏。 感谢

4 个答案:

答案 0 :(得分:2)

假设您的信号是向量x,只需执行

[max_value, index_number] = max(x)

max_value将是最大值,index_number将是原始向量x的索引号。

答案 1 :(得分:0)

最大的峰值并不总是最大值它始终是矢量中的第一个或最后一个元素(如果是诅咒你真的意味着最大峰值而不是函数的最大值)

[〜,索引] = findpeaks(X,' SORTSTR''下降&#39); I =索引(1);

答案 2 :(得分:0)

这是一个非常糟糕的问题,因为 OP 没有提供足够的信息。但 fminbnd() 可能是一个不错的选择:

clear; close all; clc;

myFun = @(x) -min(sin(x), x^2);

[x1, y1] = fminbnd(myFun, -1, 2);

答案 3 :(得分:0)

你可以像这个例子一样使用 isoutlier 函数

A = [57 59 60 100 59 58 57 58 300 61 62 60 62 58 57];
TF = isoutlier(A)

如果你只想要特定的部分,你可以将你的向量划分为 isoutlier(A(5:25)) 或类似的