! magnetic field from a straight wire
! Program to accompany "Computational Physics" by N. Giordano
! Copyright Prentice Hall 1997
program straight_wire
option nolet
library "sglib*","sgfunc*"
dim r(0),field(0)
lstart = .5
lfinish = 10
call initialize(r,field,max)
length = lstart
i = 1
do
call calculate(r,field,max,length)
if length = lstart then call display(r,field,max)
if length > lstart then call adddatagraph(r,field,4,0,"black")
i = i + 1
length = 10 * length
loop until length > lfinish
call exact(r,field)
end
! initialize variables
sub initialize(r(),field(),max)
input prompt "number of grid steps -> ": max
mat redim field(max),r(max)
end sub
sub calculate(r(),field(),max,length)
for i = 1 to max
call calculate_field(field(i),i/max,max,length)
r(i) = i/max
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余1页未读,立即下载