根据MatLab中其他列的相应数字选择某些数字

时间:2014-04-19 02:13:49

标签: matlab

我是一名在MatLab中编写代码的新手,这对我的研究非常有用。我有csv文件有很多列,但只对其中两个感兴趣,比如列X和Y,所有数字。我需要做的是从X列中选取具有Y列中大致相应数字的特定数字。例如,在X列中选择最接近54对应Y的数字。我可以使用MatLab吗? 我感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

假设你的矩阵data是这样的:

data =

    0.6293   -2.5788   -0.9027   53.0100   -0.7203
    0.3602    2.0267    0.2537   54.5300   -0.0149
    0.0870   -0.7028    1.2209   54.6034    0.5088
   -1.1552    1.5505    0.3589   54.0044    1.1467
    1.7230   -0.5437    0.1975   56.3978   -0.5802
    1.9416    0.7137    0.2764   55.0810   -0.2298
    0.4837   -0.1987    0.8526   53.6421   -0.4461
   -0.1257    1.7165   -0.8384   53.7798    1.3852
    0.6433    0.6902   -1.1979   53.9323   -1.2776
    1.6593   -0.5343   -1.3725   52.8364   -0.0738

并且您希望在列X = 2上找到值,其中Y = 4列上同一行的值最接近54.您可以这样做:

X = 2; % Index of the column to retrieve the value from
Y = 4; % Index of the column to find the value nearest to 54

[~,idx] = min(abs(data(:,Y) - 54))
data(idx,X)

哪会给你这个:

ans =

    1.5505

它正在做的是获取列Y和54之间的绝对差异,并以最小差异检索元素行的索引。然后,此索引用于在列X上检索该行的值。