' 粒子の運動
For IP = 1 To NPT
XNM = X(IP) / DX + 0.5:IXP = Int(XNM):IXM1 = IXP - 1
If IXM1 <= 0 Then IXM1 = IM - 1 - IXM1: B = XNM - IXP
If IXP = 0 Then IXP = IM - 1:EP = E(IXP) * B + E(IXM1) * (1 - B)
V(IP) = V(IP)-EP * DT: X(IP) = X(IP) + V(IP) * DT
If X(IP) > XMAX Then X(IP) = X(IP) - XMAX
If X(IP) < 0 Then X(IP) = XMAX + X(IP)
Next IP
' 電荷密度の計算
For I = 1 To IM - 1
RO(I) = -1
Next I
For IP = 1 To NPT
XNM = X(IP) / DX:IXP = Int(XNM)
B = XNM - IXP :If IXP = 0 Then IXP = IM - 1
IXP1 = IXP + 1 :If IXP1 = IM Then IXP1 = 1
RO(IXP) = RO(IXP) + PW * (1 - B):RO(IXP1) = RO(IXP1) + PW * B
Next IP
RO(IM) = RO(1)
For I = 1 To IM - 1
RO(I) = RO(I) * DX * DX
Next I
' 静電ポテンシャルの計算
For I = 2 To IM - 1
A(I, 1) = 1:A(I, 2) = -2:A(I, 3) = 1:A(I, 4) = RO(I)
Next I
A(1, 4) = 0 :A(1, 2) = 1:A(IM, 4) = 0:A(IM, 2) = 1:BO = -2
' -------ガウスの消去法-------
'前進消去法
NN = 1:N = IM:NNP1 = NN + 1:NN2 = 2 * NNP1
For I = 1 To N - 1
For J = NN2 To NNP1 Step -1
A(I, J) = A(I, J) / A(I, NNP1)
Next J
IPNN = I + NN:If IPNN > N Then IPNN = N
For L = I + 1 To IPNN
For K = NNP1 + I - L + 1 To 2 * NN + 1 + I - L
A(L, K) = A(L, K) - A(I, K + L - I) * A(L, NNP1 + I - L)
Next K
A(L, NN2) = A(L, NN2) - A(I, NN2) * A(L, NNP1 + I - L)
Next L
Next I
つづく
関連URL:http://www.okweb.ne.jp/kotaeru.php3?q=449543
A 回答 (1件)
- 最新から表示
- 回答順に表示
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセル マクロ(A1:A10)までの中で一番多く出た数字をB10に表示 6 2023/04/25 17:01
- Excel(エクセル) vba 「Nextに対するForが見当たりません」のエラーが発生する原因 1 2022/10/21 15:46
- Visual Basic(VBA) 実行時エラー´5854´ 文字列型パラメーターが長すぎます。 3 2023/06/08 21:17
- Visual Basic(VBA) 数字が「0」の列を削除するため、下記のコードを実行しましたが、コンパイルエラーSubまたはFunct 3 2022/12/04 00:00
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) 順列をランダムに発生するプログラム 1 2022/11/16 12:16
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- その他(プログラミング・Web制作) 十進BASICでの再帰についての質問です。 2 2022/11/18 09:17
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
計算機はなぜ計算間違いをしないか
-
フラクタル次元の解析プログラ...
-
プログラムの発散
-
VBAで関数をつくる
-
[ASP]日付と時間の比較
-
EXCELなどで「返す」という表現
-
PHPで四則演算以外の微分、積分...
-
EXCEL VBAとワークシート関数の...
-
優先度付き待ち行列について
-
アドオン利率を実質年率に変換
-
バッチファイルでウインドウを...
-
骨折リスク評価のFRAXについて...
-
スパイダソリティアの問題
-
桁区切り数値の計算
-
【JAVA】数字をひし形に出力す...
-
Bluestacks内でダウンロードし...
-
グループを均等に分けるには?...
-
COBOLのUNSTRINGについて
-
自動クエリとはどういうもので...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
mod でうまく
-
めちゃきれい
-
VBAの再計算が反映されない件に...
-
排他的論理和 BCC(水平パリテ...
-
バッチファイルでウインドウを...
-
モジュラス103の計算とは何でし...
-
EXCELなどで「返す」という表現
-
変化させるセルが変化しない
-
60進数の四則計算
-
プログラムの質問
-
VBでReplace
-
数値計算の高速化 (cos, sin, exp)
-
C言語についてです。 再帰を使...
-
Javaを使った行列計算
-
C言語のプログラミングの問題で...
-
エクセルで特定のセルのみを任...
-
matlab計算での進捗状況を知りたい
-
CとFORTRANの計算速度はどちら...
-
matlabで計算終了
おすすめ情報