2次元の拡散方程式を解くプログラムで、
結果をcsvファイルに出力したいのですが、どうしたらよいのでしょうか。
FileSave Sub()を作って、保存する方法を考えています。
このFileSave Sub()にはどのようなコードを書けばよいのでしょうか。
そもそも、下のコードが本当にあっているのかもわからないので、できればチェックもお願いします。
Public Class Form1
Dim b, h, wcr, ic, bc, dx, dy, dt, t, tmax, rx, ry As Double
Dim i, j, l, m, n, p, q, r, s, x, y As Integer
Dim c1(x, y), c2(x, y) As Double
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Call Cl_ion_Calculate() End Sub Sub Cl_ion_Calculate() Dim i, j, l, m, n, p, q, r, s, x, y As Integer b = Val(TextBox1.Text) h = Val(TextBox2.Text) wcr = Val(TextBox3.Text) dx = Val(TextBox4.Text) dy = Val(TextBox5.Text) dt = Val(TextBox6.Text) ic = Val(TextBox7.Text) bc = Val(TextBox8.Text) tmax = Val(TextBox9.Text) t = tmax / dt x = b / dx y = h / dy rx = dt / dx ^ 2 ry = dt / dy ^ 2 ReDim c1(x, y), c2(x, y) For i = 0 To x For j = 0 To y c1(i, j) = ic Next j Next i For l = 1 To t For m = 1 To x c2(m, 0) = bc Next m For n = 1 To y c2(0, n) = bc c2(x, n) = bc Next n For p = 1 To x - 1 For q = 1 To y - 1 c2(p, q) = (1 - 2 * rx) * c2(p, q) + rx * c2(p - 1, q) + rx * c2(p + 1, q) + (1 - 2 * ry) * c2(p, q) + ry * c2(p, q - 1) + ry * c2(p, q + 1) Next Next For r = 0 To x For s = 0 To y c1(r, s) = c2(r, s) Next Next Call FileSave() ← それぞれの時刻,位置での値を一つのファイルに保存したい Next MsgBox("Finish") End Sub
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。