プロが教えるわが家の防犯対策術!

(x,y)=(a,b)、(c,d)、(e,f)、(g,h)、(i,j)

という測定結果が与えられていて、
http://atsugi5761455.fc2web.com/calking4/c4_020. …
の行列からa_1~a_4の値を計算し、
http://atsugi5761455.fc2web.com/calking4/c4_013. …
の式にそれらを代入しP(x)の式を完成させたいのですが、
完成したP(x)の式を「+」「-」「*」「/」「^」だけの演算子でどうにか表せないでしょうか?
途中までやってみたのですが50%くらいのところで挫折してしまいました・・・。
かなり長い式になると思います。
分かる方いらっしゃいましたら、大変恐縮ですがご回答の方よろしくお願い致します。

A 回答 (3件)

a_1, a_2, a_3, a_4 をを画像で添付します。

けど多分、読めないでしょう。そこで Maxima でのやり方を載せておきます。

load("eigen");
y:columnvector([b,d,f,h,j]);
X:matrix([1,a,a^2,a^3],[1,c,c^2,c^3],[1,e,e^2,e^3],[1,g,g^2,g^3],[1,i,i^2,i^3]);
XX:transpose(X).X;
Xy:transpose(X).y;
XX^(-1).Xy;
「最小二乗法の関数を四則演算と累乗だけで表」の回答画像1
    • good
    • 0

ごめんなさい、まちがえました。


誤: XX^(-1).Xy;
正: invert(XX).Xy;
Maxima と、他の言語とで混乱しました。

結果は長すぎて、4,000 文字に収まりません。
    • good
    • 0
この回答へのお礼

ご回答頂きありがとうございます!
無理難題な質問に尽力して頂いて心が痛みます・・・。
4000字には収まりませんか・・・。
ちょっと予想外ですw
私のディスプレイは1980*1080なので画面一杯びっしり英数字が埋まりそうですね。
何か別な方法を探してみます。
代替手段が見つかれば良いのですが。

お礼日時:2011/08/26 19:24

結果を string になおしました。



matrix([(i^3*j+g^3*h+e^3*f+c^3*d+a^3*b)/(i^3+g^3+e^3+c^3+a^3)+(i^2*j+g^2*h+e^2*f+c^2*d+a^2*b)/(i^2+g^2+e^2+c^2+a^2)+(i*j+g*h+e*f+c*d+a*b)/(i+g+e+c+a)+(j+h+f+d+b)/5],[(i^3*j+g^3*h+e^3*f+c^3*d+a^3*b)/(i^4+g^4+e^4+c^4+a^4)+(i^2*j+g^2*h+e^2*f+c^2*d+a^2*b)/(i^3+g^3+e^3+c^3+a^3)+(i*j+g*h+e*f+c*d+a*b)/(i^2+g^2+e^2+c^2+a^2)+(j+h+f+d+b)/(i+g+e+c+a)],[(i^3*j+g^3*h+e^3*f+c^3*d+a^3*b)/(i^5+g^5+e^5+c^5+a^5)+(i^2*j+g^2*h+e^2*f+c^2*d+a^2*b)/(i^4+g^4+e^4+c^4+a^4)+(i*j+g*h+e*f+c*d+a*b)/(i^3+g^3+e^3+c^3+a^3)+(j+h+f+d+b)/(i^2+g^2+e^2+c^2+a^2)],[(i^3*j+g^3*h+e^3*f+c^3*d+a^3*b)/(i^6+g^6+e^6+c^6+a^6)+(i^2*j+g^2*h+e^2*f+c^2*d+a^2*b)/(i^5+g^5+e^5+c^5+a^5)+(i*j+g*h+e*f+c*d+a*b)/(i^4+g^4+e^4+c^4+a^4)+(j+h+f+d+b)/(i^3+g^3+e^3+c^3+a^3)]);
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!