🌸 「なでしこ」
>
🍯 「貯蔵庫」
🍯 なでしこ3貯蔵庫
🌟新規
📒一覧
🔌
🔍検索
🚪ログイン
ログイン
していません。
[
📌文法
] [
🎨命令一覧
]
[編集モード] おいしーヤミー感謝感謝またいっぱ
プログラム:
(→大)
(→textarea)
(→左右に配置)
#LU分解で連立方程式を計算する。 #参考文献:C言語による最新アルゴリズム事典/標準アルゴリズム事典(奥村晴彦さん) # ax=bを計算する。a: NxN行列, b: N成分ベクトル a = [[2, 5, 7], [4, 13, 20], [8, 29, 50]] b = [23, 58, 132] xにaとbの連立方程式答えを代入する。 xをベクトル表示する。 ●(aとbの)連立方程式答えとは n=aの表行数 weightにnのベクトル作成を代入する。 ipにnのベクトル作成を代入する。 xにnのベクトル作成を代入する。 det = 0 kを0からn-1まで繰り返す。 ip[k]=k u=0 jを0からn-1まで繰り返す。 t = ABS(a[k][j]) もし 、(t>u)ならば u=t ここまで ここまで weight[k] = 1/u ここまで det=1 kを0からn-1まで繰り返す。 u=-1 iをkからn-1まで繰り返す。 ii = ip[i] t = ABS(a[ii][k])*weight[ii] もし、 (t>u) ならば u = t j = i ここまで ここまで。 ik = ip[j] もし、(j<>k) ならば ip[j] = ip[k] ip[k] = ik det = -det ここまで u=a[ik][k] det = det * u iをk+1からn-1まで繰り返す。 もし、i<=n-1 かつ i<>kならば ii = ip[i] a[ii][k] = a[ii][k]/u t = a[ii][k] ここまで jをk+1からn-1まで繰り返す。 もし、j<=n-1 かつ j<>kならば a[ii][j] = a[ii][j] - t*a[ik][j] ここまで ここまで。 ここまで ここまで iを0からn-1まで繰り返す。 ii = ip[i] t=b[ii] jを0からi-1まで繰り返す。 もし、i<>j かつ j >=0ならば t = t-a[ii][j]*x[j] ここまで ここまで。 x[i] = t ここまで。 iをn-1から0まで1ずつ減らし繰り返す t=x[i] ii = ip[i] jをi+1からn-1まで繰り返す。 もし、j<=n-1 かつ j<>iならば t = t-a[ii][j]*x[j] ここまで ここまで x[i] = t/a[ii][i] ここまで xを戻す ここまで ●(NとMの)行列作成とは A=[] iを0からN-1まで繰り返す A[i] = [] jを0からM-1まで繰り返す A[i][j]=0 ここまで。 ここまで。 Aを戻す。 ここまで ●(Nの)ベクトル作成とは A=[] iを0からN-1まで繰り返す A[i] = 0 ここまで。 Aを戻す。 ここまで ●(Aを)行列表示とは iを0からAの表行数-1まで繰り返す jを0からAの表列数-1まで繰り返す 「{A[i][j]}」と「 」を連続無改行表示 ここまで 「」を表示 ここまで ここまで。 ●(xを)ベクトル表示とは iを0からxの配列要素数-1まで繰り返す。 「{x[i]}」を表示 ここまで ここまで。
▶ 実 行 [F9]
クリア
一時保存
デバッグ
ブレイクポイント:
→ 再開
↓ 一行次へ
×
キャンバス: 幅
× 高
031e06f2f66969f64e0d1f152c76fbdd
1890
上書き保存
表示ページ
→直前に実行(または一時保存)した内容を復元
なでしこバージョン: v
素材のアップロード
ログイン
するとファイルをアップロードできます。