dポイントプレゼントキャンペーン実施中!

Excel2003を使用しています。

f(x) = a*x^5+b*x^4+c*x^3+d*x^2+e*x+f
この計算式を簡単に入力できて項数がふえた時の変更も簡単にできる方法はないでしょうか。

最小二乗法で使っています。

xは最小二乗法の関数で、x^{5,4,3,2,1} といった感じで使っています。
これと同じようなやり方で、セルを使わないで、
x^{5,4,3,2,1}*{a1:a5} のような感じでできればと思っています。

他の方法でもかまわないです。
あまりセルを使わずに計算できればと思っていますが、多少はかまいません。

よろしくお願いします。

A 回答 (2件)

係数(今なら6個)はどうにかしてエクセルに指示しなきゃならないので,A1からA6を使います


A1に5次の係数,A6は定数です

計算は
=SUMPRODUCT(A1:A6, X^(6-ROW(A1:A6)))
といった具合にできます。
    • good
    • 0
この回答へのお礼

なるほど。ROW関数で指定するという方法もあるんですね。

わたしは少々アレンジして、こんなふうにしました。
=SUMPRODUCT($N$6:$N$11,TRANSPOSE($C2^{5,4,3,2,1,0}))

でも、ROW関数を使用する方が変更箇所が少なくていいかもしれないです。

ありがとうございました。

お礼日時:2012/02/23 07:48

x A2=0.3


a A1=0.6
b B1=0.43
c C1=0.31
d D1=0.97
e E1=0.25
f F1=0.09
の時,配列数式で(crtl-shift-enterで入力する)
=SUM(A2^{5,4,3,2,1,0}*A1:F1)
とすれば
a*x^5+b*x^4+c*x^3+d*x^2+e*x+f=0.255611
となる。
    • good
    • 0
この回答へのお礼

できました。

わたしは、N6:N11に係数を入れていましたので、
=SUM($N$6:$N$11*TRANSPOSE($C2^{5,4,3,2,1,0}))
こんな感じになりました。

最初、答えが違っていたので少々悩みましたが、もしかしてと思い、
TRANSPOSE関数を使ったところ見事できました。

ありがとうございました。

お礼日時:2012/02/23 07:44

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