持っているデータのより大きなマトリックスからサンプルを引き出すために使用したい文字列の配列が1つあります。現在、文字列の配列が1つあります1200x1
。そして、私の実際のデータ'names'(値が対応するものを示す文字列配列6855x1
、および'data'は6855x2
。
これは私が思いついたものです:
C = intersect(names,sites) %To find common strings
%これらの文字列が元のデータセットのどこにあるかを見つけるには:
Q=zeros(length(C),1)
for i=1:length(C)
for j=1
while strcmp(C(i),names(j))==0
j=j+1
Q(i)=j
end
end
end
次に、上記の値を使用して、'data'の実際のデータ値を使用して新しいベクトルをコンパイルします。
A=zeros(length(Q),1)
for i=1:length(Q)
A(i) = mock(Q(i),1)
唯一の問題は、今リストした2番目のループのセットを実行していることです。これには、数時間かかることは明らかです。3つのループを設定せずにもっと速い方法があるに違いないと思います。誰かがより良い方法を知っていますか?