1次元拡散方程式(陰解法)をExcel VBAで計算。
さて、昨日Numerical Recipesの三重対角行列を計算するルーチンを作ったのは、この計算をするため。
∂u(t,x) /∂t = D ∂2u(t,x) / ∂x2
を陰的に差分化すると、
uik+1 = uik + s * (ui-1k+1 +ui+1k+1 -2*uik+1 )
となる。なので三重対角行列が計算できればこれも計算できる。
こんなルーチンでどうでしょう。
Option Explicit
Private Sub CommandButton1_Click()
Dim n As Long
Dim a() As Double, b() As Double, c() As Double
Dim r() As Double, u() As Double
Dim i As Integer, k As Integer
Dim s As Double
Application.ScreenUpdating = False
s = 1#
n = 128
ReDim a(n), b(n), c(n), r(n), u(n)
For i = 1 To n
b(i) = 1# + 2# * s
a(i) = -s#
c(i) = -s#
Next i
c(1) = -2# * s
a(n) = -2# * s
For i = 1 To n
If i > 0.5 * n - 5 And i < 0.5 * n + 5 Then
r(i) = 1#
Else
r(i) = 0#
End If
Worksheets("Sheet1").Cells(i + 1, 2) = r(i)
Next i
For k = 1 To 500
Call tridag(a, b, c, r, u, n)
For i = 1 To n
r(i) = u(i)
Worksheets("Sheet1").Cells(i + 1, k + 2) = r(i)
Next i
Next k
Application.ScreenUpdating = True
End Sub
で計算した結果がこちら。s=1でも計算出来てるようだ。
で、まだこれで終わりじゃなくてまだまだ続きが、、、
« Numerical Recipes in Cの三重対角行列の方程式を解く関数をExcel VBAに移植 | トップページ | SMAPのソフトバンク プラチナバンドスタートのCMを見た。民放各局放映はチキンラーメンのCM以来かな? »
「学問・資格」カテゴリの記事
- 高周波・RFニュース 2025年11月13日 QorvoがTWTA置き換えの広帯域SSPA発表、iFixitがiPad Pro M5分解、KYOCERA AVXが0.9Vで動く超小型クロック発表、Mini-Circuitsが様々なBALUNやトランス解説、軍用5G解説、imecの110GHz可能な300mm GeSiウェハー(2025.11.13)
- 高周波・RFニュース 2025年11月12日 Qualcommが語る技術の標準化、STMicroelectronicsが語るシリコンフォトニクス、HuaweiがイノベーションとIPフォーラム開催、6G SummitでFCCのコミッショナーが米国が6Gをリードすべしと語る(2025.11.12)
- トランジスタ技術2025年12月号 電波と回路のススメMHz~GHzを操る!を買った。GHzはアナデバのICを使った信号発生器(信号検出付きなのが面白い)のみだったが、マルチパス、高調波で周波数拡大、6.78MHzのワイヤレス給電、オシロでSDRなど話題も豊富で面白かった。(2025.11.11)
- 高周波・RFニュース 2025年11月10日 Qorvoらが参加する5G, 6Gオンラインパネル開催、SkyworksがBAWを使った高性能クロック発表、Nokiaベル研とKDDIが6Gで協業、次世代FWAのアンテナ設計解説(2025.11.10)
« Numerical Recipes in Cの三重対角行列の方程式を解く関数をExcel VBAに移植 | トップページ | SMAPのソフトバンク プラチナバンドスタートのCMを見た。民放各局放映はチキンラーメンのCM以来かな? »



コメント