• ベストアンサー

エクセル解法

数学のカテにこういう質問をするのは場違いかもしれませんが・・・ a=f(x,y,z) で与えられる3元1次式が3つあり、それぞれにa1,a2,a3が与えられている場合、 エクセルのソルバーでx,y,zを求めることはできますか? (x=○○○の形に展開することが極めて難しい) 概略手法も教えていただけると有難いです。 (わたしのPCには未だソルバーが入っていません)

質問者が選んだベストアンサー

  • ベストアンサー
  • f272
  • ベストアンサー率46% (8469/18131)
回答No.3

#1です。ソルバを使ってやりたいということなので... > a=f(x,y,z) > で与えられる3元1次式が3つあり、それぞれにa1,a2,a3が与えられている と言うのだから a1=f1(x,y,z) a2=f2(x,y,z) a3=f3(x,y,z) となるx,y,zを求めるのが目標です。 これをソルバを使って求めるのであれば,まずx,y,zを適当に決めます。そうすればそのx,y,zを使って A1=f1(x,y,z) A2=f2(x,y,z) A3=f3(x,y,z) が計算できます。このA1,A2,A3がa1,a2,a3に等しい,いいかえると(a1-A1)^2+(a2-A2)^2+(a3-A3)^2が0になればいいのですから,この値を計算します。適当に決めたx,y,zの値を変化させて(a1-A1)^2+(a2-A2)^2+(a3-A3)^2が0になるようにソルバを動かします。うまく収束できれば,そのときのx,y,zが解になっています。

kurukuruman
質問者

お礼

再度のご回答有難うございました。 助かりました。

その他の回答 (2)

  • 178-tall
  • ベストアンサー率43% (762/1732)
回答No.2

どうやら、#1 さんのコメントが最有力案。 パラフレーズしてみましょうか。 問題は「3元1次式が3つ」だというから、   a = Bu という行列表示で書ける。 (B は3*3 正方行列、u = (x y z)^t は列行列) >(x=○○○の形に展開することが極めて難しい) B が正則なら、   u = [B^(-1)] a と書ける。 ( B^(-1) は、B の逆行列)    

  • f272
  • ベストアンサー率46% (8469/18131)
回答No.1

これって3元1次の連立方程式を解きたいってこと? それならソルバなど使わなくても,普通に行列演算を使って解けばいいんじゃないの?(もちろんソルバを使ってもいいけど)

kurukuruman
質問者

補足

ソルバでできますか?