次のように、アルゴリズムに基づいて完全な多変量多項式の Matlab コードを書きたいと思います。
次があるとします。
A=[1 2 3 4;
5 6 7 8]
ここでの入力次元は L=4 で、行数は M=2 です。完全な多変量多項式を作成するには、畳み込みまたは bsxfunc 組み込み関数を使用したいと考えています。ただし、カスタマイズしたアルゴリズムによると、少し異なります。
(多項式の次数が 2 の場合、次のように次元を書きましょう):
[X1.X1 X1.X2 X1.X3 X1.X4 ; X2.X2 X2.X3 X2.X4 ; X3.X3 X3.X4 ; X4.X4]
すべての条件order=2
は上記のとおりです。についてorder=3
は、次のとおりです。
X1.*(the first column of above)
X2.*(the second column of above)
X3.*(the third column of above)
X4.*(the forth column of above)
プラス注文の前の結果= 2。
R=1 の場合: M1 は完全多変量多項式モードの項数です。
R=2 : (adding previous terms to following terms)
X1 . M1=[X1.X1;X1.X2;X1.X3;X1.X4] , X2 . M2=[X2.x2; X2.X3; X2.X4] .......
組み込みを使用してこれを生成することはできませんbsxfun
。x1
が を掛けるときに を掛けるのをx2
避けたいので、繰り返し項を避ける必要があります。x2
x1
最終結果は次のようになります。
Res=[1 5;
2 6;
3 7;
4 8;
1 25;
2 30;
3 35;
4 40;
4 36;
6 42;
... ;
4^4 8^4];
さまざまな次元とさまざまな順序のコードを作成するにはどうすればよいですか?