🌸 「なでしこ」
>
🍯 「貯蔵庫」
おいしーヤミー感謝感謝またいっぱ
🌟新規
📒一覧
🔌
🔍検索
🚪ログイン
おいしーヤミー感謝感謝またいっぱ 📖
プログラム:
(→大)
#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]}」を表示 ここまで ここまで。
プログラムを実行
(no name) 作
タイトル:
おいしーヤミー感謝感謝またいっぱ
ライセンス:
未指定 (未指定/貯蔵庫のみ)
タイプ:
wnako
タグ:
-
利用バージョン:
3.1.19
作成日時:
2022/10/25 10:24
公開の投稿
ログイン
して★を付けよう!
📝作品を編集
作品公開情報
📍この作品のURL:
📍アプリ(即時実行)のURL:
📍アプリ(実行ボタンあり)のURL:
📍ブログパーツ:
上記HTML↑をブログに貼り付けることでアプリを埋め込めます。
📍ライブラリ直リンク - 『!「***」を取込』で使うとき:
通報数:
0
通報って何?