请教个角度层数对应的问题
计算一个公式,其中有k和α两个变量。如果角度α和层数k是一一对应的,K是从-4到5的十个整数,每层对应的α是0°或者8°,0°和80°分别是5层。顺序是不确定的,这种情况怎么样Fortran语言编程?每一个分别赋值
real :: a(-4:5)
a(-4) = 0.
a(-3) = 80.
a(-2) = 80.
a(-1) = 0.
a(0) = 0.
a(1) = 0.
a(2) = 80.
a(3) = 80.
a(4) = 80.
a(5) = 0. 风平老涡 发表于 2021-4-10 22:36
每一个分别赋值
real :: a(-4:5)
分别赋值这个角度顺序不是确定的吗 本帖最后由 风平老涡 于 2021-4-12 22:20 编辑
xiaoxueji 发表于 2021-4-12 13:31
分别赋值这个角度顺序不是确定的吗
那你需要的是随机赋值。
program test
implicit none
real :: a(-4:5), r
integer :: i, k=0, m = 0
call random_seed
do i = -4, 5
call random_number(r)
if(r > 0.5 .and. k < 5) then
a(i) = 0.
k = k + 1
elseif(m < 5) then
a(i) = 80.
m = m + 1
else
a(i) = 0.
end if
end do
print *, a
end program test
运行俩次结果
0.00000000 0.00000000 80.0000000 0.00000000 80.0000000 80.0000000 80.0000000 80.0000000 0.00000000 0.00000000
0.00000000 0.00000000 80.0000000 0.00000000 0.00000000 80.0000000 80.0000000 80.0000000 0.00000000 80.0000000
风平老涡 发表于 2021-4-12 22:01
那你需要的是随机赋值。
program test
implicit none
好的好的 非常感谢
页:
[1]