私は 1x Nセルを持っています。それを と呼びますX
。そのコンポーネントX{i}
( i
{1, 2, ..., N } の場合) は、文字列のM x1 セルまたはM x1 数値ベクトルのいずれかです。
注:テキスト セルと数値ベクトルの両方X
が含まれているため、ここでは使用できません。cell2mat
>> tmp = cell2mat(X);
Error using cell2mat (line 46)
All contents of the input cell array must be of the same data type.
私の質問は:
このデータをM 1x Nセルの配列に転置する MATLAB の「慣用的な」方法は何ですか?
EDIT:明確にするために、私が到達したいデータ構造は、それY
を と呼びましょう 、1x N 個のセル(それぞれが数字と文字列の混合物で構成されています)のM長い配列です。たとえば、N =2 で、が文字列のM x1 セルで、が doubleのM x1 ベクトルである場合、望ましいデータ構造は、任意の 1 ≤ ≤ Mに対して、最初の要素がの- 番目の文字列で、2 番目の要素が の- 番目の double です。つまり、次のように定義された1x2セルと同じになります。X{1}
X{2}
Y
i
Y(i,:)
i
X{1}
i
X{2}
Y(i,:)
Yi
xi1 = X(i, 1);
xi2 = X(i, 2);
Yi = {xi1{1} xi2{1}};
(ぎこちなくてすみません! 中間変数andを作成せずに項andで直接の MATLAB 式を見つけることができません。)Yi
X
i
xi1
xi2