(20181111)Fortran 产生随机数
参考:http://blog.sciencenet.cn/blog-588243-502012.html
*********************************************************************
1)生成一个0-1之间的随机数
先用random_seed (),系统根据日期和时间随机地提供种子,使得随机数更随机了。
random_number(x) 产生一个0到1之间的随机数(x可以是向量),但是每次总是那几个数。
program randomimplicit nonereal :: xcall random_seed () ! 系统根据日期和时间随机地提供种子call random_number (x) ! 每次的随机数就都不一样了write(*,*) x !输出一个0——1之间的随机数stop
end program random
**********************************20181112************************************************
2)产生一个任意区间的随机数:
program random_ex
implicit none
real::randNum
real::lbound,ubound
real::my_random!调用函数时,也要声明函数数据类型real,不然出错
call random_seed()!库函数,生成随机数前调用
randNum=my_random(1.0,10.0)
write(*,*) randNum
endfunction my_random (lbound,ubound)
implicit nonereal :: lbound,uboundreal :: lenreal :: my_randomreal :: tlen=ubound-lbound !计算范围大小call random_number(t) !t是0-1之间的随机数my_random=lbound+len*treturn
end
3)产生一个任意区间的随机数组:(当函数返回值为一个数组是,此时需要在主函数中定义一个函数接口interface)
参考:https://mp.csdn.net/postedit/83963544
program interface_eximplicit noneinterface !定义函数func的使用接口
function random10(lbound,ubound)
implicit none
real::lbound,ubound
real::random10(10)!返回值是一个数组
end function
end interfacereal::a(10)
call random_seed()!库函数,生成随机数前调用
a=random10(1.0,10.0)!生成10个0-10之间的随机数
write(*,'(10F6.2)') aend!编写函数random10(lbound,ubound),!返回10个范围在(lbound,ubound)之间的随机数
function random10(lbound,ubound)
implicit none
real::lbound,ubound
real::random10(10)real::t,len
integer i
len=ubound-lbound
do i=1,10call random_number(t)!t是0-1之间的随机数random10(i)=lbound+len*t !把t转换为lbound和ubound范围
end do
returnend function
将上面的(lbound,ubound)输为(0.0,1.0)就可以得到0-1之间的随机数;
program interface_eximplicit noneinterface !定义函数func的使用接口
function random10(lbound,ubound)
implicit none
real::lbound,ubound
real::random10(10)!返回值是一个数组
end function
end interfacereal::a(10)
call random_seed()!库函数,生成随机数前调用
!a=random10(1.0,10.0)!生成10个0-10之间的随机数
a=random10(0.0,1.0)!生成10个0-1之间的随机数
write(*,'(10F6.2)') aend!编写函数random10(lbound,ubound),!返回10个范围在(lbound,ubound)之间的随机数
function random10(lbound,ubound)
implicit none
real::lbound,ubound
real::random10(10)real::t,len
integer i
len=ubound-lbound
do i=1,10call random_number(t)!t是0-1之间的随机数random10(i)=lbound+len*t !把t转换为lbound和ubound范围
end do
returnend function
4)如何产生正态分布的随机数??(unresolved)
(20181111)Fortran 产生随机数相关推荐
- 老版本fortran语言 内存无效_面向科学计算的高性能动态编程语言 Julia
Julia是一个新的高性能动态高级编程语言.语法和其他编程语言类似,易于其他语言用户学习.Julia拥有丰富的函数库,提供了数字精度.精致的增幅器(sophisticated amplifier)和分 ...
- python从数分到数编(part2)--随机数及数组
学习笔记,仅供参考,觉得哪里不错就记哪里 学习书目:<python编程从数据分析到数据编程>–朝乐门; 参考自:numpy.random.randn()与rand()的区别;Python ...
- 最大最完整的---NAG Fortran 算法库
转载www.smart-cores.com中 NAG Fortran 算法库 最大最完整的商用 Fortran 数值算法库 NAG Fortran 软件库是由专家开发,适用于多种应用领域中,是 ...
- visual fortran常用数值算法集_资深游戏数值策划自白:数值不是你想象的那么简单!...
做一个靠谱的策划,这是我唯一的心愿.关于游戏数值我只想说:数值不是你想象的那么简单! 下面具体说说我对数值工作的想法. 1)不要随大流. 例如,很多人就认为腾讯能成功靠的不就是QQ么. 例如,很多人认 ...
- 运用遗传算法求解函数极值(fortran)
运用遗传算法求解函数极值(fortran) 写在前面 遗传算法的前世今生 算法步骤简介 遗传算法的主体结构 开始求解: 结果显示: 最后再来说一些需要注意的地方 写在前面 这篇文章适合一些应急学习最优 ...
- 3 随机数与蒙特卡洛方法及Python实现
0 建议学时 4学时 1 引入 1.1 随机数与采样 客观世界的某些行为,结果具有随机性: 掷骰子.投硬币: 等待公交车的时间: 种子发芽的比例: 1.2 随机数函数 1.2.1 random模块 P ...
- 粒子群算法Fortran代码(OMP并行)
粒子群算法可用于解决强非线性优化问题,原理较为简单(参加:最优化算法之粒子群算法(PSO)_青萍之末的博客-CSDN博客_粒子群算法),这里给出Fortran代码实现模块( module POS).该 ...
- fortran matlab eng,[转载]关于MATLAB转FORTRAN的几点注意
1.关于主程序:需加implicit none,变量需定义,其他规则同一般程序,句末分号记得去掉.此处再着重提及一下变量声明,常量加parameter不用说,普通变量根据要求选择,外部子程序必要是需加 ...
- Fortran语法汇总(下)(持续更新中)
目录 第5章 I/O操作 5.1 格式描述符 5.2 OPEN语句 5.3 CLOSE语句 5.4 INQUIRE语句 5.5 READ语句 5.6 WRITE语句 5.7 文件定位语句 5.8 I/ ...
最新文章
- 【组队学习】【27期】动手学数据分析
- .Net 中DataSet和DataTable的 区别与联系
- matlab常用工具箱的调用指令
- android 播放器 反交错,反交错- 视频横纹处理
- linux工作原理fiq,读Kernel感悟-Linux内核启动-内核的生成 - kernel hacker 修炼之道——李万鹏 - 博客频道 - CSDN...
- WORD图片批量居中?
- TensorFlow tf.keras.backend.ctc_batch_cost
- Qt4: Show an image in your widget – 在Qt里面显示图像
- vue中axios访问Java后端跨域问题解决
- FTP连接报530错误(FTP Error: 530 User cannot log in, home directory inaccessible)
- ios音乐播放器demo
- 汽车电子电气架构EEA演变
- Solidworks 课程大纲(虎课网)
- AD硬件电路学习笔记(一)常见的管脚名字以及FPGA、Lora等常见的物联网组网
- Mac MySQL忘记密码解决办法
- 云专网和云专线的区别_什么是云网融合?
- 五大特色展区抢占C位,2019深圳国际全触与显示展引燃触控显示产业未来
- Python自做的一个zabbix_sender程序
- 01背包中背包装满和不装满
- mysql证书有哪些_mysql证书叫什么