私が行っているプロジェクトの問題で立ち往生しており、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');