我必须使用圆方程x² + y² = 1
和x
和y
从-1
到1
,在每个步骤中增加0.1
创建一个圆形网格。如何在Fortran 90中创建循环网格?
我已经尝试了许多不同的事情,但都失败了,所以我会很高兴如果有人能帮助我。
我的一个尝试是:attempt one
PROGRAM cir
IMPLICIT real*8(a-h, o-z)
real :: x(20,20), py(20,20), ny(20,20)
delx = -1.1
dely = -1.1
DO i=1,20
delx = delx + 0.1
DO j=1.20
x(i,j) = delx
ny(i,j)= -1.0 * SQRT (1.0 - (x(i,j)**2))
py(i,j)= SQRT (1.0 - (x(i,j)**2) )
PRINT*, x(i,j), ny(i,j), py(i,j)
END DO
END DO
STOP
END PROGRAM cir
而另:attempt two
PROGRAM circle
IMPLICIT real*8(a-h,o-z)
real*8 :: x(20,20), y(20,20), z(20,20)
delx = -1.0
dely = -1.0
DO i = 1, 20
delx = delx + 0.1
DO j = 1 , 20
dely = dely + 0.1
x(i,j) = delx
y(i,j) = dely
z(i,j) = x(i,j)**2 + y(i,j)**2 -1.0
END DO
delx = -1.0
dely = -1.0
PRINT*, x(i,j), y(i,j)
END DO
STOP
END PROGRAM circle
圆形网格很模糊。你想要什么类型的结果? – innoSPG
作为最终结果你想要什么?一个布尔数组,如果点在线上?他们几乎从不上线,因为你只有一些点。一个布尔数组,如果点在里面?你应该写了x²+y²<1。你想实现什么? –
可能有助于展示你的尝试。 – agentp