同じサイズの要素を実現するために、サイズの異なる複数の配列をループし、各配列の先頭からトリミングする方法があるのだろうかと思います各配列に?例えば要素を削除してMatlabの一連の配列をトリミングする方法
、私が持っている場合:
A = [4 3 9 8 13]
B = [15 2 6 11 1 12 8 9 10 13 4]
C = [2 3 11 12 10 9 15 4 14]
をし、私は彼らが達成するために、ちょうどAのように、長さは5つの要素になってしまうような、冒頭にいくつかの要素を失うCをBとします
A = [4 3 9 8 13]
B = [8 9 10 13 4]
C = [10 9 15 4 14]
どうすればよいですか?/UPDATE
EDIT:
私は "naivetrim" と呼ばれる素敵な機能を書いた@excazaによって提案された答えを、受け入れました。私は.Mスクリプトとしてその機能を保存し、それを使用する:@excazaが示唆するように、まず私は、私の3つの配列を定義し、関数と呼ば:私のために働いた
[A, B, C] = naivetrim(A, B, C);
別の解決策のバリエーションを - @ Sardar_Usamaさんに基づきます下の答え(ループ)。
:それはもう少し簡単でしたので、私は多くの行列が存在しない場合は、それのように行うことができますA = [4 3 9 8 13]
B = [15 2 6 11 1 12 8 9 10 13 4]
C = [2 3 11 12 10 9 15 4 14]
arrays = {A,B,C}
temp = min([numel(A),numel(B), numel(C)]); %finding the minimum number of elements
% Storing only required elements
for i = 1:size(arrays,2)
currentarray = arrays{i}
arrays(i) = {currentarray(end-temp+1:end)}
end
いくつの配列がありますか? – excaza
'[]'はMATLABの配列/行列に使用され、 '() 'ではありません –