static double a[N][N + 1] = {
{ 1.0, 2.0, 8.0, 4.0},
{ 4.0, 3.0, 2.0, 12.0},
{ 1.0, 4.0, 2.0, 4.0},
};
for (i = N - 1; i >= 0; i--) {
d = a[i][N]/ a[i][i];
for (j = i + 1; j < N; j++) {
a[i][N] = d - a[i][j] * a[i][N] / a[i][i];
}
}
展開の式をprintfを用いて過程の式を見てみたのですが、
なぜ、このように計算されるのかわかりません。
どっから-4や36が出てきたのかわかりません。どうか一緒に考えていただけないでしょうか?
以下は過程の計算を表示した実行結果です。
d=a[2][3]/a[2][2]よりdは2.000000です
d=a[1][3]/a[1][1]よりdは4.000000です
式は4.000000 - a[1][2] * a[1][3]/a[1][1]です
式の中身は4.000000 - 2.000000 * -4.000000/3.000000です
a[1][3]の中身は-4.000000
-4.000000/3.000000-(2.000000)*-4.000000/3.000000である
d=a[0][3]/a[0][0]よりdは4.000000です
式は4.000000 - a[0][1] * a[0][3]/a[0][0]です
式の中身は4.000000 - 2.000000 * -4.000000/1.000000です
a[0][3]の中身は-4.000000
-4.000000/1.000000-(2.000000)*-4.000000/1.000000である
式は4.000000 - a[0][2] * a[0][3]/a[0][0]です
式の中身は4.000000 - 8.000000 * 36.000000/1.000000です
a[0][3]の中身は36.000000
36.000000/1.000000-(8.000000)*36.000000/1.000000である
No.2ベストアンサー
- 回答日時:
-4はj=1の計算結果のa[0][3]
-8の8はa[0][2]
j=2での計算では
a[0][3]=d-a[0][2]*a[0][3]/a[0][0];
No.1
- 回答日時:
各行の計算が分離されてるので、追うのは簡単ですよ。
i=0だけ考えればよい。d=4だから、j=1の計算で
a[0][3]=4-2*4/1
j=2の計算で
a[0][3]=4-8*(-4)/1
で、そもそも後退代入は
a[i][N] = a[i][N]/ a[i][i];
for (j = i + 1; j < N; j++) {
a[i][N] = a[i][N]- a[i][j] * a[j][N] / a[i][i];
}
と書かないと駄目です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C 言語の Gauss Jordan 法について 2 2022/12/28 11:16
- 数学 高校時代電離平衡の計算に関しての質問です。 問題集で、 酢酸は水溶液中で一部が電離し、次のような電離 2 2022/10/22 18:59
- 化学 化学の溶解度積Kspの計算に関しての質問です。MgF2の溶解度積を求める問題で Ksp=[Mg^2+ 1 2022/08/13 18:07
- C言語・C++・C# Cのdoubleの浮動小数点表示について 3 2023/04/17 13:14
- ドライブ・ストレージ PCのSSD換装 2 2022/06/11 08:26
- 中古車 メーカー認定中古車の購入についてお聞きしたいです! レジャーのみの使用です。 ①、フォレスター2.0 5 2023/05/29 07:05
- フィナンシャルプランナー(FP) FP3級 ポートフォリオの期待収益率について 2 2022/08/22 19:17
- FTTH・光回線 光マンションタイプ(光配線方式)について教えてください。 4 2022/07/18 18:02
- 一眼レフカメラ エクステンダーを2種類、同時に装着可能か? 3 2022/08/13 22:52
- 統計学 偏差値と割合の関係はどのように計算すればよいか教えてください 1 2023/05/25 02:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
C言語のプログラミングの問題で...
-
2進数の乗算をc言語で計算した...
-
チェックデジット計算できる関...
-
VBAの再計算が反映されない件に...
-
引き放し法による除算アルゴリ...
-
エクセルで特定のセルのみを任...
-
三菱シーケンサー works2 の日...
-
[急募]Pythonについてです。
-
EXCELなどで「返す」という表現
-
VBでReplace
-
fortranでプログラムをつくった...
-
排他的論理和 BCC(水平パリテ...
-
Visual C++でdebugとreleaseで...
-
VB6.0で逆ポーランド記法のソー...
-
C++ でファイルを消す関数(??)
-
fortran πについて
-
Fortran でのマイナス乗数の書き方
-
VBA入力フォームで労働時間の計...
-
モジュラス103の計算とは何でし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
変化させるセルが変化しない
-
排他的論理和 BCC(水平パリテ...
-
VBAの再計算が反映されない件に...
-
VBAで関数をつくる
-
バッチファイルでウインドウを...
-
モジュラス103の計算とは何でし...
-
EXCELなどで「返す」という表現
-
数値計算の高速化 (cos, sin, exp)
-
傾いた四角形内の範囲の条件式
-
骨折リスク評価のFRAXについて...
-
matlab計算での進捗状況を知りたい
-
Excel VBAにてFFT
-
C言語についてです。 再帰を使...
-
C言語について 下の画像は do-w...
-
アドオン利率を実質年率に変換
-
エクセルで特定のセルのみを任...
-
電卓でmodの計算
-
引き放し法による除算アルゴリ...
-
y=(x^2 +3x+1)^4を微分の定義を...
おすすめ情報