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