プロが教える店舗&オフィスのセキュリティ対策術

連立一次方程式を掃き出し法で解いているのですが、負の値が出てしまって困っています。
物理的には正の値しか出ないはずのものを計算しているので。
解に正の値しか持たなくさせる方法はないでしょうか?

A 回答 (6件)

間違えました。


式の数=12
変数の数=1000
だから、変数のほうが多いんですね。

そうしますと、解はパラメータ表示することになって
「解に正の値しか持たなくさせる」という目的は
そのパラメータ次第ということになりますが。

それとも、どんなパラメータを持ってきても正になりそうにないので
困っているということですか?
    • good
    • 0

要するに、式(条件)の数が変数より多い場合に


もっともらしい解を出力したいという事でよいですか?

以前、この問題を調べた時に、共役勾配法が最適という結論に達しました。
https://www.google.co.jp/search?client=ubuntu&ch …

ただし、共役勾配法はいろいろと拡張があり、
それぞれに得手不得手があるようなので、
自分の問題に応用できるかどうか調べてから利用することをお勧めします。
    • good
    • 0
この回答へのお礼

ありがとうございます。
私も共役勾配法に行き着いたのでさっそく実装して試してみました。
逆問題になっているので、良い評価関数を考えるのが難しく、まだ満足行く解にはなっていませんが。

お礼日時:2013/12/13 14:53

問題を示してくれないと、答えようがありません。

物理的に正の値しか出ないはずの問題を解いてるのであれば、問題・解き方が間違っているか、「この条件からは物理的にありえない負の値が答えとなってしまう。よって、解なし」と言うのが答えかもしれない。

この回答への補足

a1・f1(1) + a2・f1(2) + … + a1000・f1(1000) = b1
a1・f2(1) + a2・f2(2) + … + a1000・f2(1000) = b2



a1・f12(1) + a2・f12(2) + … + a1000・f12(1000) = b12


という式があり、
未知数 a1 ~ a1000

定数 f1() ~ f12()、 b1~b12(測定値、誤差を含む)

となっています。
ここからどうにかしてもっともらしいa1~a12を得たいのです。

今はとりあえず1000を12で割ったところで区切って、A1 ~ A12を定義し、

A1・f1(0 ~ 83) + A2・f1(83 ~ 166) + … + A12・f1(917 ~ 1000) = b1
A1・f2(0 ~ 83) + A2・f2(83 ~ 166) + … + A12・f2(917 ~ 1000) = b2



A1・f12(0 ~ 83) + A2・f12(83 ~ 166) + … + A12・f12(917 ~ 1000) = b12

として式の数と未知数を一致させて連立方程式で解いてみたのですが、負の値は出るし(数学的にはただしのでしょうが)無理やり当てはめたような結果が出てしまって散々でした。
何か良い方法ないでしょうか?

補足日時:2013/10/30 14:50
    • good
    • 0
この回答へのお礼

修正
>ここからどうにかしてもっともらしいa1~a12を得たいのです。

ここからどうにかしてもっともらしいa1~a1000を得たいのです。

お礼日時:2013/10/30 14:53

 ちょっと反則かもしれませんが、数学ソフトを使って計算してみたらどうでしょうか。

この回答への補足

検算して正しいのでプログラムミスではないです

補足日時:2013/10/30 14:35
    • good
    • 0

(1) 正でも何でも好きな解をひと組好きに作る。


(2) その解が満たす方程式をでっち上げる。
(3) 方程式を入れ換える。

この手法が使えないケースでは、
出てきた解を信じるか、計算ミスを探すしかない。
    • good
    • 0

そもそも数値が間違っている


という可能性は無視していいんですか? 例えば
・数値を入れる場所を間違えた
・(計測値を使って計算しているとして) 計測を間違えた
という可能性は考えられる.

あるいは, 「数値が間違っている」というわけではないけど
・計測値の誤差の影響
という状況だってあり得る.

もちろん
・計算を間違える
ということも不可能ではない.

この回答への補足

たしかにそのとおりです。
誤差を含んでいます。
今の結果は誤差を含めて無理やり当てはめたような感じになっています。
誤差の影響を最小にした結果を求めたいと考えています。

補足日時:2013/10/30 11:46
    • good
    • 0

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