ターゲット ベクターを作成したい。私はいくつかの問題を抱えています。私が欲しいのは、T からターゲットへの 18 個のオブジェクトの 3 つのすべての組み合わせです。しかし、その組み合わせを生み出すことはできません。組み合わせごとに個別に機能していますが、「forループ」は機能していないようです。
% T is a structure of 18 different sized objects
% idx is index of size 816*3 double
idx = combnk(1:18,3);
% TNames is cell of size 18*1
TNames = fieldnames(T);
for i = 1:length(idx)
Target(:,:,i) = [T.(TNames{idx(i,1)}) ;
T.(TNames{idx(i,2)}) ;
T.(TNames{idx(i,3)}) ];
end
上記のコードは、Target(:,:,i) から (:,:,i) を削除し、1,2,3 ... などを T.(TNames{idx( i,1)})..T.(TNames{idx(i,2)}) および T.(TNames{idx(i,3)})
さまざまな代替手段を試しましたが、この問題を解決できません.ターゲット <3*859 セル> を作成することさえできましたが、ニューラル ネットワークには受け入れられません。ニューラルネットが適切に機能するには、<1*859 セル> である必要があります..では、誰かこの問題を解決するのを手伝ってくれませんか?
私もこれを試しました:
T は <1*1 構造体> であり、その中にそれぞれ 859 行の 18 個のフィント (金融時系列) オブジェクトがあり、列の数が異なります (各フィント オブジェクトの 1 から 4 列の範囲)。..これらすべてのフィント オブジェクトを変換しましたfts2mat コマンドで行列に変換します。
これで、各列範囲に識別可能なフィント オブジェクトを持つ新しいマトリックス <32*859 double> ができました。つまり、各列の最初の 4 つのエントリが最初の fints オブジェクトに属し、次の 3 つのエントリが 2 番目の fints オブジェクトに属していることがわかります。
最終的に <859*1 cell> または <1*859 cell> (より正確には)適切なトレーニングのためにそれをニューラルネットワークに提供します...
3 の各組み合わせには 3 つのフィント オブジェクト エントリが含まれ、各フィント オブジェクトは異なる番号を持つ必要があるため、このタスクはインデックス作成を通じて実行する必要があります。列の。そして、816 通りの組み合わせで毎回各 fints オブジェクトのすべての列をガーブし、それら 3 つの fints オブジェクトを連結する必要があります。各fintsオブジェクトのすべての列を取得して行に配置します。
要するに、<1*859 セル> が必要で、そこには (私の T 構造体から) 3 つのフィント オブジェクトの 816 の異なる組み合わせがあり、各組み合わせには 3 つのフィント オブジェクトが含まれ、各組み合わせは <1*859 セルでなければなりません。 > 適切なトレーニングのためにニューラル ネットワークに提供します。NN は異次元セルを取らないので..
よろしくお願いします