- ベストアンサー
エクセルで多項式の掛け算を簡単に行う方法
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} のような感じでできればと思っています。 他の方法でもかまわないです。 あまりセルを使わずに計算できればと思っていますが、多少はかまいません。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
係数(今なら6個)はどうにかしてエクセルに指示しなきゃならないので,A1からA6を使います A1に5次の係数,A6は定数です 計算は =SUMPRODUCT(A1:A6, X^(6-ROW(A1:A6))) といった具合にできます。
その他の回答 (1)
- f272
- ベストアンサー率46% (8470/18134)
回答No.1
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 となる。
質問者
お礼
できました。 わたしは、N6:N11に係数を入れていましたので、 =SUM($N$6:$N$11*TRANSPOSE($C2^{5,4,3,2,1,0})) こんな感じになりました。 最初、答えが違っていたので少々悩みましたが、もしかしてと思い、 TRANSPOSE関数を使ったところ見事できました。 ありがとうございました。
お礼
なるほど。ROW関数で指定するという方法もあるんですね。 わたしは少々アレンジして、こんなふうにしました。 =SUMPRODUCT($N$6:$N$11,TRANSPOSE($C2^{5,4,3,2,1,0})) でも、ROW関数を使用する方が変更箇所が少なくていいかもしれないです。 ありがとうございました。