2017-04-10 10 views
0

タイトルとして、私は多項式回帰関数をコーディングする際のガイドラインに従っていましたが、現在、指数の行ベクトルを書くことに固執しています。変数 'X'の列ベクトルである 'vector1'と、1からpまでの指数の行ベクトルを意味する 'vector2'という2つの変数を初期化する必要があります。それが終わったら、私はbsxfunに "X_poly = bsxfun(@ pow、vector1、vector2)"と記入しています。[Octave]指数の行ベクトルを書く方法がわかりにくい

今、私がvector2に書き込もうとすると問題が発生します。私はこのコードを書く方法を視覚化するのが難しいです。私は "vector2 = X(1:p、:)"、 "vector2 = X * p"、 "vector2 = X '(1:p、:)を試しました。明らかにこれらのどれも働かなかったし、私はそれが間違っているたびにこの強い敗北感を感じるだけです。私はグーグルを試みたが、結果は結実をもたらさなかった。

私は非常に失っていると感じ、私はこの時点でストローで握っています。

+0

これをシンボリック数学で行うか、 'p'の値を知っていて、' x'ベクトルに値を持っていますか? – Suever

+0

これは象徴的な数学で、値が何を表しているのか分かりませんが、同様の静脈の例は "Xは列ベクトルです[1 2 3 4 5 6 7 8 9 10]あなたは徐々にベクトル(例えば1^1,2^2,3^3,4^4)のようになります」(私は数学用語には本当に悪いので、私の文章では効率的でないなら謝罪します) – higga

+0

あなたは本当にMCVE – Andy

答えて

2

ここでbsxfun関数を使用する必要はありません。power関数(およびそれに相当する演算子.^)はベクトル化されています(つまり、要素的な方法で配列を処理できます)。

octave:1> v1 = 1:10; 
octave:2> v2 = 1:10; 
octave:3> v1 .^ v2 
ans = 
    1 4 27 256 3125 46656 8.2354e+05 1.6777e+07 3.8742e+08 1e+10 
octave:4> power(v1,v2) 
ans = 
    1 4 27 256 3125 46656 8.2354e+05 1.6777e+07 3.8742e+08 1e+10 
octave:5> bsxfun(@power, v1, v2) 
ans = 
    1 4 27 256 3125 46656 8.2354e+05 1.6777e+07 3.8742e+08 1e+10 
関連する問題