すこし煩雑な(21×11です)の連立一次方程式を解くプログラムを作りたいのですが
何か良い文献、HPなどは無いでしょうか?
いろいろなものを見ましたが大体縦横が同じ(n次元?)の
計算のヒントみたいなのしか見つけれませんでした。
プログラムはほとんどやったことが無いので、
ソースなどが公表されていてそれをちょっと書き換えれば
目的のものがつくれるというのが理想ですが・・・。
解法はガウスジョルダンとかガウスサイデル
あるいは他にもっとよいものがあればそちらで構いません。
また、連立一次方程式のちゃんとした答え(言い方悪いですね)が求まらない場合、
近似解を算出することになると思うのですが
これはどういった基準で「解」とされるのでしょうか?
計算の反復回数とかでしょうか?
まとまりのない質問ですがよろしくお願いします。
何かあれば補足をお願いします。
No.3ベストアンサー
- 回答日時:
連立方程式の解き方にはいろいろ有って、それぞれ長所短所あります。
手元の書籍では
Numerical recipes in C (技術評論社)
に結構詳しく載っています。(別冊で、プログラムの入ったディスクも販売されていたと思います)
ガウスジョルダンももちろん掲載されていますし、変数と式の数が一致しない場合の扱いなども記述されています。
一読の価値はあるかと。
ご質問の式では、係数に0の多い、疎な方程式に思えます。疎な式の場合には、計算量を下げることも可能です
(詳細は、上記書籍に記載されています)
ご参考になれば。
この回答への補足
回答していただきありがとうございます。
教えていただいた書籍ですがソースコードの方は掲載されているのでしょうか?
アマゾンで検索したところ少しばかり価格が高いので購入すべきか
図書館などで探すか迷っています。
よろしければお教えください。お願いします。
No.4
- 回答日時:
Newmerical... ソースコードは記載されています。
(ただ、手で打ち込むのは、結構面倒かも)
他にもCを使った数値計算関係の書籍はいくつかありますので、一度大きめの書店で見て見られたほうが良いかも。
(Numerical..の訳者である奥村先生が執筆された書籍もいくつかあるはず)
プログラムの用途にもよりますが、業務に使うなら、きちんと誤差評価(や計算量評価、安定性の評価)に関して記載している書籍を選ばれたほうが良いと思います。
(仕事用なら、(市販などの)の数値演算パッケージを導入するのが一番いいのかもしれません)
No.2
- 回答日時:
係数行列が正方でないということは、変数の数と式の数が一致していない(普通には解けない)のでは?
式の数の方が多い場合には、全ての式を同時に満足する数値の組は無いので、評価関数を定義して、それが最小(もしくは最大)になる数値の組み合わせを探すことになるような。
式の数が少ないと、解けないし。
今一度、問題を見直す必要があるかと思います。
回答ありがとうございました。
実は長々と補足を書いたのですが、gooの禁止事項に触れたらしく編集されました。
それも相当簡素なものに編集されており自分でもびっくりしています。
係数行列はなんといいますか規則的に配列しており、
係数の中でゼロじゃないものは6つだけですので問題的には計算できるとは思うのですが未だに解決できずにおります。
ちなみに解は{0,0,...,1,...,0,0}ですのでこのことから考えても
正方行列を解くプログラムでもあればそれをちょっと書き換えてできるのかなと考えた次第です。
しかし、正方行列を解くプログラムもいまいちうまくできずに困っています。
No.1
- 回答日時:
最適化アルゴリズムをくめばいいんじゃないですかね?
そうすれば,最適解が求まると思いますよ.
計算終了条件は「計算回数」であったり,「誤差が○○以下」であったり,様々です.
下記URLの「さ」を選択すると,最適化アルゴリズムが載っています.
参考URL:http://www.sist.ac.jp/~suganuma/cpp/sakuin.htm#sa
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 高校数学I 2次関数 2つの2次方程式の共通の実数解の問題についての質問です。以下の写真を見てもらえ 4 2022/05/13 11:47
- 宇宙科学・天文学・天気 AIが答えた方程式 1 2023/02/20 00:12
- 数学 情報処理詳しい人!! A4縦のレポート文書に4:3の大きさの横向きの写真画像を貼り付けることにした。 2 2022/12/18 02:30
- 物理学 高校物理 二次元の衝突 画像の問題の解答では、静止系での球2の速度v2を -運動エネルギー保存 -運 3 2022/11/12 00:34
- 数学 連立一次方程式の不定解についての質問です。 不定解とはなんですか?2つの直線が重なっていて、無数の共 6 2022/12/29 18:03
- 日本語 より大きな 5 2022/09/29 08:00
- 数学 ベクトルの一次独立が一通りに分解される理由 2 2022/05/19 19:53
- 数学 小学生がたった1日で19×19までかんぺきに暗算できる本、のおみやげ算。数学的に言うと何? 3 2023/04/07 09:35
- 物理学 物理基礎で、力学的エネルギーと動摩擦力のことを習ったのですが、 あらい斜面の下から物体を滑り上がらせ 2 2022/09/11 10:12
- 数学 (2)が分かりません。 Imfの基底は行基本変形で求めることって出来ますよね? ここからImfの基底 1 2023/06/04 16:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
べき乗の計算が遅い理由
-
65536は2の何乗なのでしょうか?
-
排他的論理和 BCC(水平パリテ...
-
VBAの再計算が反映されない件に...
-
excelからdll呼び出し中に計算...
-
変化させるセルが変化しない
-
エクセル 再計算とVBA の...
-
MATLABの利点と欠点
-
Visual C++でdebugとreleaseで...
-
モジュラス103の計算とは何でし...
-
太陽の位置計算のプログラムを...
-
EXCELなどで「返す」という表現
-
ExcelのVBAで複素数は扱えない...
-
VBAでの勤務時間計算
-
VBAで一時的にオーバーフローを...
-
Java 電卓の連続計算
-
CとFORTRANの計算速度はどちら...
-
C# C1FlexGrid SUBTOTAL で計算式
-
三菱シーケンサー works2 の日...
-
階乗のマクロ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
VBAの再計算が反映されない件に...
-
排他的論理和 BCC(水平パリテ...
-
モジュラス103の計算とは何でし...
-
EXCELなどで「返す」という表現
-
バッチファイルでウインドウを...
-
VBAでの勤務時間計算
-
数値計算の高速化 (cos, sin, exp)
-
C# 計算処理中に実行中ウィン...
-
変化させるセルが変化しない
-
VBとVBAの違い
-
CRC8を教えてください
-
引き放し法による除算アルゴリ...
-
傾いた四角形内の範囲の条件式
-
タクシー料金の問題です
-
C言語についてです。 再帰を使...
-
CとFORTRANの計算速度はどちら...
-
VB6で正確なミリ秒を計測したい...
-
Date型の範囲を超える数値について
-
電卓でmodの計算
おすすめ情報