我有一个称为datos1
的4096x2矩阵。我正在尝试从[valor_maximo, canal_maximo]=max(datos1(:,2));
的最大值绘制到
conteomin=ceil(valor_maximo*0.05);
[canal_minimo, valor_minimo]=find(datos1(:,2) == conteomin);
我的问题是,既然两种情况下都有索引,如何知道find
函数中的值?
目前,[canal_minimo, valor_minimo]=...
返回canal_minimo
的值,但对于valor_minimo
仅返回每一行的入射数,而不返回矩阵中的实际值;即canal_minimo=3558 valor_minimo=1
,而不是等于conteomin
。
fileID=fopen(uigetfile('*.txt', 'Seleccione el archivo'));
[archivo,~,~,~]=fopen(fileID(1));
datos1=dlmread(archivo,' ',10,0);
fclose(fileID);
set(handles.uitable1,'Data',datos1);
[valor_maximo, canal_maximo]=max(datos1(:,2));
conteomin=ceil(valor_maximo*0.05);
[canal_minimo, valor_minimo]=find(datos1(:,2) == conteomin);
答案 0 :(得分:3)
[row,col]=find(LogicalExpression)
给出附着在LogicalExpression
上的每个元素的行/列索引。因此,在您的情况下:datos1
第二列的元素等于标量值conteomin
的任何地方都将注册为true,而canal_minimo
将具有行号; valor_minimo
很明显是一个,因为它是列向量的列号,当然在第1天就清除了。 [row,col,val]=find()
在第三个输出中给出值,但是您不需要这样做,因为您要与一个硬数字进行比较(这对@CrisLuengo said来说是个坏主意)。这是因为val
等于conteomin
,因为您要的是 。 (在这种情况下)显式输出它毫无用处。