EXCELのソルバーを使った、シュミレーションの問題を解いているのですが、テキストを見ると、各条件を設定後、オプションボタンを押して、線形モデルにチェックするとありました。そのとおりにすると、解答が出たのですが、違う問題で、線形モデルにチェックをすると、線形モデルではありませんというメッセージがでて、線形モデルのチェックをはずすと、解答がでました。ソルバーは数学的な要素が多く、使いこなすのは難しいと、スクールの先生に言われましたが、そもそも線形モデルとはなんなのでしょか。どんなときにオンにしてどんなときにオフにするのかが知りたいのですが、どなたかお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

そうですね、もう少し噛み砕いて説明した方がよかったですね。



いま、セルを以下のように約束します。
A1(目的セル)
B1(変化させるセル)

(1)線形の例
A1に例えば"=2×B1"と入力し、ソルバーでA1の近づける値として"12"と入力します。「線形モデルで計算」にはチェックしてください。
ソルバーでこれを解かせると、当たり前ですがB1は最終的に6(またはこれに近い値)になります。

(2)線形でない例
A1に例えば"=B1^3"と入力し、ソルバーでA1の近づける値として"27"と入力します。
まず、「線形モデルで計算」にチェックして計算させてみてください。すぐに「線形モデルではありません」というメッセージが出てくるはずです。(A1に埋め込んだ式が変化させるセルの3乗の演算を含み、線形でないため)。
次に「線形モデルで計算」のチェックを外してソルバーに解かせると、B1は最終的に3(またはこれに近い値)になるはずです。

もし「線形」「非線形」の区別がよく分からないのであれば、まず「線形で計算」にチェックし「線形ではありません」と言われたらチェックを外す、という対処法で十分だと思います。(式がどんなに複雑でも線形なら線形モデルでよいですし、逆に上の(2)のように、式は単純でも非線形なら線形モデルは使えません)
    • good
    • 0
この回答へのお礼

数学が苦手なので・・・噛み砕いた説明ありがとうございます。
なんとなく、線形と非線形が見えてきたと思います。
教えていただいた方法、まず線形で計算させ、線形でなかったらチェックをはずす方法で、対処していきます。
ありがとうございました。

お礼日時:2001/04/12 08:48

以前に、ソルバーを使ってある度数分布の最尤化をちょこっとやったことがあります。


以下はウロ覚えなども含みますので、そのつもりでお読みください。

「線形」や「非線形」はエクセル固有のお話でなく、数学一般でのお話です。大抵の場合線形は解き易く、非線形は複雑だと思ってください。

さてソルバーは、多くの変数(例えばx1,x2,x3,・・・)からなる関数
f(x1,x2,x3,x4・・・)
の値を、ある条件で最小(あるいは最大、あるいはターゲット値)に近づけるためのツールです。このとき関数f(x1,x2,x3,x4・・・)の形が重要でして、変数(変数間)の非線形演算(x1×x2やlog(x3)、x2/x5など)を含むと非線形モデルになります。
一方、
f=a1x1+a2x2+a3x3・・・(ただし、a1, a2などは定数)
の形で書けるものは線形です。基本的に、変数の足し算と引き算からなるものと思ってください。掛け算が入っていますが、定数との掛け算なので非線形にはなりません。

線形モデルの方が一般に計算が速いので、もし上の式のfが線形なら線形モデルにチェックします。この場合線形モデルにチェックしなくても計算はできます。(時間、精度などで不利にはなりますが)
上の式のfが非線形なら、これは線形モデルで計算できませんので、「線形モデル」のチェックを外して計算することになります。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。数学についてはめっきりだめなので、変数ってきくだけで拒否してしまいそうです・・・
線形モデルをチェックすることで計算が速いということはよくわかりました。複雑な処理だというときは、線形ではないので、線形モデルにチェックしない、というふうに、使い分ければいいでしょうか

お礼日時:2001/04/11 13:52

このQ&Aに関連する人気のQ&A

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

このQ&Aと関連する良く見られている質問

Qソルバーを用いデータを近似する方法

題記内容をソルバーで実施したいのですがどのように条件を立てたら良いか又、どのように数式を立てるべきかがわからず困っています。

どのような物を近似したいのか例を挙げると…
計算上の流量(kg/毎時)と実測値(kg/毎時)を近似させたい。

私がソルバー以外で近似させた例
計算上の流量が入力された列(x軸)と実測値が入力された列(y軸)を選択しグラフ(散布図)を挿入し、近似曲線(1次関数)を表示させるのですが各点と1次近似線とのバラツキ(他の変数の影響と見られる差)が有るためこのような方法は採用できません。


上記のような計算をソルバーで求めている例を拝見したことがあるのでソルバーを用いようと思ったのですが、大学数学もろくに理解していない為、質問したいこともよくわからなくるのですが…

とりあえず質問したいことは、計算数値を実測値にソルバーで近似する場合、どのような式を立て、どのような条件を立てれば良いのか?です。
又、その式はどのような根拠で立てたものか教えて頂ければ幸いです。
ついでですが、統計、データの収集にあたり必要な数学分野があれば教えて頂きたいです。(ググります)

題記内容をソルバーで実施したいのですがどのように条件を立てたら良いか又、どのように数式を立てるべきかがわからず困っています。

どのような物を近似したいのか例を挙げると…
計算上の流量(kg/毎時)と実測値(kg/毎時)を近似させたい。

私がソルバー以外で近似させた例
計算上の流量が入力された列(x軸)と実測値が入力された列(y軸)を選択しグラフ(散布図)を挿入し、近似曲線(1次関数)を表示させるのですが各点と1次近似線とのバラツキ(他の変数の影響と見られる差)が有るため...続きを読む

Aベストアンサー

直線近似ならTREND関数などのエクセル組み込み関数を使って一発で計算できますが,敢えてソルバーを使ってやりたいのでしたら,下記の資料の通りに作成していけばそのまま出来ます。

先にこちら
http://homepage1.nifty.com/gfk/square_solver.htm
次にこちら
http://atiboh.sub.jp/t08senkeikinzi.html

主なキーワードは「最小二乗法」が必須で,「残差」若しくは残差平方和について調べます。

Q「データ要素を線で結ぶ」がチェックできない!?

Excel2007(Win)で折れ線グラフを作成中です。
時間を横軸に、数種類の計測値を折れ線で作成しています。
時間により計測値が異なることから、空白セルができてしまいます。
「データ要素を線で結ぶ」をチェックしてグラフを作成しており、今まではきちんと空白セルも補間されていたのに、本日確認したら空白セル部分がゼロ扱いとした妙なグラフができていました。
「データ要素を線で結ぶ」を再度チェックしようにもグレー色になっていて、チェックできません。
このようなときに「データ要素を線で結ぶ」をチェックできるようにする方法はありませんか?
また、空白セルに#N/Aと入力することも考えましたが、毎日計測値を入力していくため、連日空白セルができてしまうので、とても煩雑なようです。
どなたかよいアイデアをお持ちの方がいらしたら是非教えてください。

Aベストアンサー

実験して解答しているのではないので、
うまくいくかは定かではありませんが、思いつきを書きます。

空白の挿入が面倒とのことですが、
=""
とセルに打ち込み、ドラッグで使用するセルにオートフィルし
データを上から打ち込んでいけばいいのではないでしょうか。

チェックできない件は分かりません。

Qエクセルのチェックボックスで3つあるうち1つチェック入れたら自動的に残りにチェック出来ないようにするには

エクセルのチェックボックスで3つあるうち1つチェック入れたら自動的に残りにチェック出来ないようにするにはどうすればよいですか?今日始めてチェックボックスを触りました…

Aベストアンサー

チェックボックスにする必要あるのかな?
そうした、単一のものしか洗濯できないのであれば
ユーザインターフェースとしてはラジオボタン(オプションボタン)
の方が適切に思えるけれど・・・。

さて、質問の件ですが、チェックボックスのクリックイベントで
EnabledプロパティをFalseに設定するとチェックが出来なくなり
Trueにするとチェックが出来るようになります。

Qエクセル ソルバーを教えてください

今考えているのは、x,y座標上に2点を結ぶ直線があります。その二点の値は5500と3000で、二点のx,yはわかっていて、x,y座標は(0.3,0.5)と(0.44,0.40)です。
この二直線を内分して、5500,4500,4000,3600,3000というように分割しました。この4500,4000,3600のx,y値をソルバーで求めたいのですがどのようにすればいいのかわかりません。教えてください

Aベストアンサー

こんばんは。

グラフで x,y座標は(0.3,0.5)と(0.44,0.40)、新しい系列の5500と3000の2点を加えみると、これは、1次方程式のグラフですね。でしたら、数学の計算で出るように思えます。
ソルバーは、総当たり方式の計算ですが、そういう必要はないように思います。

x 0.3    0.44
y 0.5    0.5
z 5000    3000

それぞれの傾きを調べて、後は、代入すればよいのではありませんか?

Q【Excel】マクロにソルバーを組み込んだ時の対処方法

下記のようにマクロを組みましたが、ソルバーが解を見つけた時にいちいちOKをクリックしないと貼り付けに進みません。以下の作業を何回も繰り返すのですが、すべて自動的に行くにはどのように修正すればよろしいでしょうか?
宜しくお願いいたします。

Sheets("optimise").Select
ActiveWindow.ScrollRow = 1
Range("B7").Select
Selection.Copy
Range("E7").Select
ActiveSheet.paste
SolverOk SetCell:="$E$35", MaxMinVal:=1, ValueOf:="0", ByChange:="$E$29:$R$29"
SolverSolve
Range("E29:R29").Select
Selection.Copy
Sheets("Table").Select
Range("G7").Select
ActiveSheet.paste
Application.CutCopyMode = False
Sheets("optimise").Select
Range("B8").Select
Selection.Copy
Range("E7").Select
ActiveSheet.paste
SolverOk SetCell:="$E$35", MaxMinVal:=1, ValueOf:="0", ByChange:="$E$29:$R$29"
SolverSolve
Range("E29:R29").Select
Selection.Copy
Sheets("Table").Select
Range("G8").Select
ActiveSheet.paste

下記のようにマクロを組みましたが、ソルバーが解を見つけた時にいちいちOKをクリックしないと貼り付けに進みません。以下の作業を何回も繰り返すのですが、すべて自動的に行くにはどのように修正すればよろしいでしょうか?
宜しくお願いいたします。

Sheets("optimise").Select
ActiveWindow.ScrollRow = 1
Range("B7").Select
Selection.Copy
Range("E7").Select
ActiveSheet.paste
SolverOk SetCell:="$E$35", MaxMinVal:=1, ValueOf:="0", ByChange:="$E$29:$R$29"
S...続きを読む

Aベストアンサー

ユーザーの入力を求めるダイヤログのことでしょうか?
DisplayAlert は、Application(Excelの意味)属性ですから、役には立たないと思います。
'SolverSolveの部分を

SolverSolve Userfinish:=True
としてみてください。

それから、

これは、まとめられると思います。
Sheets("optimise").Select
ActiveWindow.ScrollRow = 1
Range("B7").Select
Selection.Copy
Range("E7").Select
ActiveSheet.paste


Sheets("optimise").Activate '(Selectでも可能です)
Range("B7").Copy Range("E7")
暇があったら、試してみてください。


このカテゴリの人気Q&Aランキング

おすすめ情報