我在做的一个项目中遇到了一个问题,希望 Matlab 可以为我节省无数小时。
我有一个包含字符串的数组,在它旁边的列中具有相应的整数(管道 ID 和长度)。我有大约 7000 个具有相应长度的管道 ID。
如果我有 200 个管道的 ID 作为数组中的字符串,那么是否可以在大数组中定位这 200 个单独的字符串并让 MATLAB 给我位于 ID 字符串旁边的单元格中的相应管道长度(整数) ?
我已经尝试过ismember
,strmatch
但我无法让它工作。
编辑:
包含所有数据的大数组如下所示:
No. ID Length (m)
1 0-T103-0-T110 52.327
2 0-T104-0-1370 30.4
3 0-T104-0-1410 62.423
4 0-T105-0-T109 46.611
...
7118 0415B-99878 152.242
然后,我将有一个与上述相同形式的较小数组,但不是 7118 行,而是例如 200 行。
到目前为止我已经尝试过:
a = {'0-T103-0-T110', 52.327; '0-T104-0-1370', 30.4; '0-T104-0-1410', 62.423};
ismember(a(:,1), '0-T104-0-1370');
leng = a{ismember(a(:, 1), '0-T104-0-1370'), 2}
这可行,但正如您所见,它仅用于在小数组中定位单个字符串。
我已经像这样加载了大数组:
[num, text, raw] = xlsread('Pipelength_ALL.xlsx', 'A1:C7115');