扫描矩阵并在 Matlab 中找到 2 个范围之间的最大值

Scan a matrix and find the maximum value in Matlab between 2 ranges

我有一个文本文件形式的矩阵,我希望使用 MATLAB 扫描它,并扫描 2 个点(1.5 和 2)之间的最大值并将其用作阈值。

我写了一个代码,但它返回了一个错误。

    [filename, pathname] = uigetfile('*txt', 'Pick text file');
data = dlmread(fullfile(pathname, filename)); 
t=data(:,1);
N = size(t,1);
m= max(data(1.5,2));
figure;
threshold = m;

文件错误(第 214 行) m= max(数据(1.5,2));

data(1.5,2) 不要求 data 中值在 1.52 之间的元素;它要求 data 在“第 1.5”行和第 2 列的元素,这显然是未定义的。索引必须是整数。

data中值在1.52之间的元素可以用

得到
data(data > 1.5 & data < 2)

因此您可以使用

获得最大的这些
m = max(data(data > 1.5 & data < 2));