Fortran Coder

标题: 请教个角度层数对应的问题 [打印本页]

作者: xiaoxueji    时间: 2021-4-10 18:06
标题: 请教个角度层数对应的问题
计算一个公式,其中有k和α两个变量。如果角度α和层数k是一一对应的,K是从-4到5的十个整数,每层对应的α是0°或者8°,0°和80°分别是5层。顺序是不确定的,这种情况怎么样Fortran语言编程?

作者: 风平老涡    时间: 2021-4-10 22:36
每一个分别赋值
[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.

作者: xiaoxueji    时间: 2021-4-12 13:31
风平老涡 发表于 2021-4-10 22:36
每一个分别赋值
[mw_shl_code=fortran,true]real :: a(-4:5)

分别赋值这个角度顺序不是确定的吗
作者: 风平老涡    时间: 2021-4-12 22:01
本帖最后由 风平老涡 于 2021-4-12 22:20 编辑
xiaoxueji 发表于 2021-4-12 13:31
分别赋值这个角度顺序不是确定的吗

那你需要的是随机赋值。
[Fortran] 纯文本查看 复制代码
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


作者: xiaoxueji    时间: 2021-4-13 22:16
风平老涡 发表于 2021-4-12 22:01
那你需要的是随机赋值。
[mw_shl_code=fortran,true]program test
  implicit none

好的好的 非常感谢





欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2