Fortran Coder

查看: 13896|回复: 4
打印 上一主题 下一主题

[数值问题] 请教个角度层数对应的问题

[复制链接]

3

帖子

1

主题

0

精华

新人

F 币
22 元
贡献
11 点
跳转到指定楼层
楼主
发表于 2021-4-10 18:06:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
计算一个公式,其中有k和α两个变量。如果角度α和层数k是一一对应的,K是从-4到5的十个整数,每层对应的α是0°或者8°,0°和80°分别是5层。顺序是不确定的,这种情况怎么样Fortran语言编程?
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

213

帖子

2

主题

0

精华

宗师

F 币
2131 元
贡献
875 点

规矩勋章

沙发
发表于 2021-4-10 22:36:17 | 只看该作者
每一个分别赋值
[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.

3

帖子

1

主题

0

精华

新人

F 币
22 元
贡献
11 点
板凳
 楼主| 发表于 2021-4-12 13:31:43 | 只看该作者
风平老涡 发表于 2021-4-10 22:36
每一个分别赋值
[mw_shl_code=fortran,true]real :: a(-4:5)

分别赋值这个角度顺序不是确定的吗

213

帖子

2

主题

0

精华

宗师

F 币
2131 元
贡献
875 点

规矩勋章

地板
发表于 2021-4-12 22:01:21 | 只看该作者
本帖最后由 风平老涡 于 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

3

帖子

1

主题

0

精华

新人

F 币
22 元
贡献
11 点
5#
 楼主| 发表于 2021-4-13 22:16:11 | 只看该作者
风平老涡 发表于 2021-4-12 22:01
那你需要的是随机赋值。
[mw_shl_code=fortran,true]program test
  implicit none

好的好的 非常感谢
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-11-23 19:46

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表