(完整版)fortran函数总结,推荐文档
fortran基本函数
FORTRAN 90标准函数(一)(2012-07-03 17:14:57)转载▼分类:学习标签:fortran函数教育符号约定:●I代表整型;R代表实型;C代表复型;CH代表字符型;S代表字符串;L代表逻辑型;A代表数组;P代表指针;T代表派生类型;AT为任意类型。
●s:P表示s类型为P类型(任意kind值)。
s:P(k)表示s类型为P类型(kind值=k)。
●[…]表示可选参数。
●*表示常用函数。
注:三角函数名前有C、D的函数为复数、双精度型函数。
注:指数函数名、平方根函数名、对数函数名前有C、D的函数为复数、双精度型函数。
表4 参数查询函数atan2函数的值域是多少?我从网上找到一个fortran函数的日志,说此值域是-π~π,但正常反正切函数的值域应该是-π/2~π/2。
对atan2函数不够了解,所以不知道你的答案对不对,我个人认为不对。
我是用正常的反正切函数atan(v/u)来算的:FORTRAN:if (u>0..and.v>0.) dir=270-atan(v/u)*180/piif (u<0..and.v>0.) dir=90-atan(v/u)*180/piif (u<0..and.v<0.) dir=90-atan(v/u)*180/piif (u>0..and.v<0.) dir=270-atan(v/u)*180/piif (u==0..and.v>0.) dir=180if (u==0..and.v<0.) dir=0if (u>0..and.v==0.) dir=270if (u<0..and.v==0.) dir=90if (u==0..and.v==0.) dir=999其中uv等于零的五种情况要单独挑出来,不然程序会有瑕疵。
atan函数换成atand函数的话直接是度数,不用*180/pi我四个象限和轴都试了,应该没错。
Fortran—函数
Fortran—函数1.子程序subroutine的使用子程序由call调用,程序以subroutine开头,以end结束子程序最后一个命令通常是return,表示程序要返回原来调用它的地方继续执行子程序和主程序声明的变量和行代码相互独立2.传递参数:在调用子程序时:call add(a,b) !把变量ab交给子程序add来处理传递参数使用同一个内存地址,一个变就都变了重点:传递参数前后类型要一致3.自定义函数调用自定义函数前要先声明自定义函数执行后会返回一个数值声明:类型,extenral::函数名函数:Function函数名(参数)函数返回值类型声明可以写在函数的最开头,跟function写在一起。
Eg, real function add (a,b) !声明函数add的返回值为浮点数调用:直接写函数名即可4.全局变量common:用来定义一块共享空间,可在程序中任何部分被取用取用全局变量时,是根据他们声明时的相对位置关系来做对应,而不是使用变量名称做对应。
可以吧全局变量归类,放在彼此独立的common区间中。
Eg common /group1/acommon /group2/b5.传递参数与全局参量:若共享数据不多,或者只有少数几个程序需要使用这些数据时,那就使用参数;需要共享大批数据,或者很多不同程序都需要这些数据时,使用全局变量6.block data用来设置common变量的初值结构:Block data name !name可以省略Implicit none !最好不要省略Integer … !声明变量Real …Common … !把变量放到common空间中Common /group1/ …Data var1,var2 … !同样适用data设定初值…………End block data name !可以只写end或者 end block data7.变量的生存周期函数中的变量会随子程序的的结束而被淹没,在声明中加入save可以增加变量的生存周期,保留住所保存的数据。
fortran基本函数
FORTRAN 90 标准函数(一)(2012-07-03 17:14:57)转载▼标签:分类:学习fortran函数教育符号约定:I 代表整型;R 代表实型;C 代表复型;CH 代表字符型;S 代表字符串;L 代表逻辑型;A 代表数组;P 代表指针;T 代表派生类型;AT 为任意类型。
s:P 表示s 类型为P 类型( 任意kind 值) 。
s:P(k) 表示s 类型为P类型(kind 值=k) 。
[ ⋯] 表示可选参数。
*表示常用函数。
表1 数值和类型转换函数函数名说明ABS(x)* 求x 的绝对值∣x∣。
x:I 、R, 结果类型同x; x:C, 结果:RAIMAG(x) 求x 的实部。
x:C, 结果:RAINT(x[,kind])*对x取整, 并转换为实数(kind) 。
x:R, kind:I, 结果:R(kind)AMAX0(x1 ,x 2,x 3, ⋯)* 求x1,x 2,x 3, ⋯中最大值。
x I :I, 结果:RAMIN0(x1 ,x 2,x 3, ⋯)* 求x1,x 2,x 3, ⋯中最小值。
x I :I, 结果:RANINT(x[,kind])*对x四舍五入取整, 并转换为实数(kind) 。
x:R, kind:I, 结果:R(kind)CEILING(x)* 求大于等于x 的最小整数。
x:R, 结果:ICMPLX(x[,y][,kind])) 将参数转换为x、(x,0.0) 或(x,y) 。
x:I 、R、C, y:I 、R,kind:I, 结果:C(kind) CONJG(x) 求x 的共轭复数。
x:C, 结果:CDBLE(x)* 将x 转换为双精度实数。
x:I 、R、C, 结果:R(8)DCMPLX(x[,y]) 将参数转换为x、(x,0.0) 或(x,y) 。
x:I 、R、C, y:I 、R, 结果:C(8) DFLOAT(x) 将x 转换为双精度实数。
x:I, 结果:R(8)DIM(x,y)* 求x-y 和0 中最大值, 即MAX(x-y,0) 。
fortran function 参数
fortran function 参数Fortran函数参数详解Fortran是一种用于科学计算的编程语言,它具有强大的数值计算能力和高效的性能。
在Fortran中,函数参数是调用函数时传递给函数的值或变量。
函数参数的正确使用可以使程序更加灵活、可维护和可扩展。
本文将详细介绍Fortran函数参数的使用方法和注意事项。
一、值传递参数在Fortran中,函数参数默认是按值传递的,也就是说,函数接收到的是参数的副本而不是原始值。
这意味着在函数内部对参数的修改不会影响到函数外部的变量。
例如:```fortransubroutine modify_value(a)integer :: aa = a + 1end subroutineprogram maininteger :: xx = 10call modify_value(x)write(*,*) x ! 输出结果为10,函数内部的修改不会影响到x的值end program```二、引用传递参数如果希望函数内部的修改能够影响到函数外部的变量,可以使用引用传递参数。
在Fortran中,可以使用关键字"intent(inout)"或"intent(out)"来声明引用传递参数。
例如:```fortransubroutine modify_value(a)integer, intent(inout) :: aa = a + 1end subroutineprogram maininteger :: xx = 10call modify_value(x)write(*,*) x ! 输出结果为11,函数内部的修改影响到了x的值end program```三、数组参数在Fortran中,可以将数组作为函数的参数进行传递。
数组参数可以是一维或多维数组,可以使用整数或者范围来指定数组的维度。
例如:```fortransubroutine modify_array(arr)real, dimension(:) :: arrarr = arr + 1.0end subroutineprogram mainreal, dimension(3) :: xx = [1.0, 2.0, 3.0]call modify_array(x)write(*,*) x ! 输出结果为2.0, 3.0, 4.0,函数内部的修改影响到了数组x的值end program```四、可选参数在Fortran中,可以为函数参数设置默认值,使其成为可选参数。
Fortran学习总结 我不是企鹅的日志 网易博客
Fortran学习总结我不是企鹅的日志网易博客fortran学习总结-我不是企鹅的日志-网易博客FORTRAN学习总结-我不是企鹅日志-网易博客fortran学习总结目录:一、说明二、概述三、数据类型和基本输入输出4。
过程控制5。
第六周期。
阵列7。
功能8。
文件1。
描述本文多数内容是读彭国伦《fortran95程序设计》的笔记。
二、概述1、名词解释fortran=公式翻译/翻译一看就知道有什么特色了:可以把接近数学语言的文本翻译成机械语言。
的确,从一开始,ibm设计的时候就是为了方便数值计算和科学数据处理。
设计强大的数组操作就是为了实现这一目标。
fortran奠定了高级语言发展的基础。
现在FORTRAN广泛应用于科学研究和机械领域。
2.FORTRAN的主要版本和差异按其发展历史,fortran编译器的版本其实很多。
现在在广泛使用的是fortran77和fortran90。
ortran90在fortran77基础上添加了不少使用的功能,并且改良了77编程的版面格式,所以编程时推荐使用90。
鉴于很多现成的程序只有77版本,有必要知道77的一些基本常识,至少保证能够看77程序。
以下是77和90的一些格式上的区别。
fortran77:固定格式(fixedformat),程序代码扩展名:.f或.for(1)若某行以c,c 或*开头,则该行被当成注释;(2)每行前六个字符不能写程序代码,可空着,或者1~5字符以数字表明行代码(用作格式化输入出等);7~72为程序代码编写区;73往后被忽略;(3)如果太长,你可以继续排队。
续行的第六个字符必须是除\以外的任何字符。
fortran90:自由格式(freeformat),扩展名:.f90(1)以\引导注释;(2)每行可包含132个字符,行号放在每行的前面;(3)用&继续这一行,并把它放在这一行的末尾或开头。
下面是对Fortran 90的讨论。
3、fortran的一些特点,和c的一些不同事实上,有很多,当提到下面的具体方面时可以看到。
Fortran 函数
Subroutine
Sends text to the screen at the current position.
PIE, PIE_W
Functions
Draws a pie slice.
POLYGON, POLYGON_W
Functions
Draws a polygon.
POLYLINEQQ
SETFILETIMEQQ
Run-time Function
SETFILETIMEQQ(filename,timedate). Sets modification time for a given file.
SPLITPATHQQ
Run-time Function
SPLITPATHQQ(path,drive,dir,name,ext). Breaks a full path into four components.
File Management: table
Graphics Procedures: table
Note:Programs that use these procedures must access the appropriate library with USE DFLIB.
Name
Procedure TypeGFra bibliotekTFILLMASK
Subroutine
Returns the current fill mask.
GETFONTINFO
Function
Returns the current font characteristics.
GETGTEXTEXTENT
Function
Determines the width of the specified text in the current font.
fortran 函数总结
附录C 部分函数指令表(c). .(注解:本指令表只收集了部分常用指令, 有关全部指令请参照文档文件) + 加- 减* 矩阵乘数组乘 *.1. 通用指令^ 矩阵乘方数组乘方 ^.\ 反斜杠或左除在线帮助/ 斜杠或右除文档中关键词搜寻或.\ 数组除/.缺省变量名以及最新表达式的运算结果等号不等号从内存中清除变量和函数< 小于关闭> 大于退出<= 小于或等于把内存变量存入磁盘>= 大于或等于运行脚本文件逻辑与文件运行中的显示格式逻辑或显示版本逻辑非浮点运算溢出显示模式选择: 冒号列出工作内存中的变量名( ) 园括号文件编辑器[ ] 方括号变量类型{ } 花括号列出基本命令小数点 .设置数据输出格式, 逗号改变当前工作目录; 分号给出环境值注释号创建目录= 赋值符号显示当前工作目录' 引号执行表达式' 复数转置号转置号 '.最新表达式的运算结果2.运算符和特殊算符浮点误差容限, =2 -52≈2.22×10-16虚数单位= √(-1)正无穷大圆周率,π=3.14....3. 编程语言结构中止计算或循环终止最内循环同一起使用将控制转交给外层的或循环同一起使用同一起使用结束,,语句按规定次数重复执行语句条件执行语句可同一起使用暂停模式返回多个条件分支同一起使用不确定次数重复执行语句特定值计算函数特定值计算或多变量计算函数文件头定义全局变量检测变量是否为全局变量显示错误信息显示最近的错误信息按格式把数字转换为串显示警告信息4.基本数学函数反余弦反双曲余弦反余切反双曲余切反余割反双曲余割反正弦反双曲正弦反正切反双曲正切余弦双曲余弦余切双曲余切正弦双曲正弦正切双曲正切指数自然对数10 常用对数2 以2为底的对数平方根绝对值复数共轭复数虚部复数实部向上(正无穷大方向)取整向零方向取整向下(负无穷大方向)取整四舍五入取整符号函数降次排序误差函数补误差函数函数插值函数线性插值函数样条插值函数样条平滑函数样条函数方波函数符号函数将整数转换为双精度浮点数5.基本矩阵函数和操作单位阵全零矩阵全1 矩阵均匀分布随机阵生成随机矩阵线性等分向量对数等分向量矩阵对数运算矩阵元素累计乘矩阵元素累计和矩阵显示矩阵和文字内容确定向量的长度确定矩阵的维数创建对角阵或抽取对角向量找出非零元素1的下标矩阵变维90 矩阵逆时针旋转90度2 据全下标换算出单下标抽取下三角阵抽取上三角阵共轭矩阵伴随矩阵行列式的值矩阵或向量范数矩阵中非零元素个数清空向量或矩阵中的某个元素正交基矩阵秩矩阵迹矩阵条件数逆矩阵条件数矩阵的逆分解或高斯消元法伪逆分解变换求解线性方程方程矩阵特征多项式分解矩阵指数1 矩阵指数的逼近2 用泰勒级数求矩阵指数3 通过特征值和特征向量求矩阵指数计算一般矩阵函数矩阵对数矩阵平方根6. 特性值与奇异值矩阵特征值矩阵束特征值块矩阵, 广义特征向量正则化特征向量特征空间投影奇异值分解奇异值分解近似7. 矩阵元素运算元素累计积元素累计和统计频数直方图最大值平均值中值最小值元素积由大到小排序标准差元素和梯形数值积分求相关系数或方差8. 稀疏矩阵运算稀疏矩阵(只存储非零元素) 2 邻接矩阵转换为稀疏矩阵稀疏矩阵转换为全矩阵将稀疏矩阵转换为稀疏矩阵格式2 稀疏矩阵转换为邻接矩阵稀疏矩阵方式单位阵稀疏矩阵方式随机矩阵稀疏矩阵方式全零阵稀疏矩阵分解稀疏矩阵方程求解稀疏矩阵分解9. 输入输出函数生成屏幕文本记录变量显示文件管理用户键盘输入读已存的变量关闭文件读二进制文件按行读码文件读字符串中单个字打开文件写二进制文件读码文件将变量记录为文件读矩阵变量存变量为二进制文件启动文件按格式存文件对话方式获取文件路径建立参数输入对话框得到文件变量执行文件10. 函数与函数库操作在线定义函数函数编辑器打开函数定义函数或对象在给定目录下建立所有文件的函数库读函数库的文件存储目录路径读函数库中的全部文件在文件中定义一个函数函数库定义函数或对象输入变量个数输出变量个数11. 字符串操作2 将数码转换为字符串字母大小转换清空字符串搜寻相同字符串字符提取2 将字符串转换为数码字符串转换对象, 字符串连接字符字符串的字符位置搜寻字符串中的字符替换12. 日期与时间日期读日期与时间时间计时13. 二维图形函数2d 直角坐标下线性刻度曲线2 维向量场1 由颜色箭头表示的2维向量场2d 等高线图曲线上增加误差范围框线条应用颜色表示的表面画坐标网格线统计频数直方图散点图阵列14. 三维图形函数3d 三维表面3d1 用颜色或灰度表示的三维表面3d 三维中单曲线3d1 三维中多曲线三维表面上的等高线图3d 三维表示的统计频数直方图3d 三维向二维上的投影15. 线条类图形单线条或单多边形多线条或多各多边形正多边形非连接线段单个多边形内填充多个多边形内填充矩形单个矩形内填充多个矩形内填充单个弧线段或弧园多个弧线段或弧园单个弧线段或弧园填充多个弧线段或弧园填充多箭头16. 图形注释, 变换图形中字符框内字符图形标题图形加框并画坐标网格线等尺寸比例显示(原图形窗口不改变)等尺寸比例显示(原图形窗口改变)设置小窗口转换实数为图形象素坐标值设置多个子窗口17. 图形颜色及图形文字应用颜色图交互式选择颜色图增加新色于颜色图线性灰度图热色(红到黄色)颜色图图形显示方式设定读当前图形显示方式设定交互式选择符号和尺寸18. 图形文件及图形文字将图形存储为文件从磁盘中读出图形文件将图形按文件打印或存储为文件2 将图形生成格式文件取消图形窗及其相关内容清空图形窗选择图形驱动器图形驱动器初始化关闭图形图形刷新更改显示范围后的图形刷新关闭图形改变当前图形窗名称19. 控制分析用图形伯德图坐标幅值图坐标(伯德图中的幅值图)奈奎斯特图M-圆图尼库拉斯图-图s 平面图零-极点图z 平面图20. 图形应用中的其它指令图形库指令表等待鼠标在图形上的点击输入由鼠标点击读入图形中的多点位置坐标由鼠标点击读入图形中的当前点位置坐标21. 系统与控制状态空间矩阵可控矩阵线性系统时域响应状态空间的离散时域响应反馈操作符时域响应(离散、采样系统〕2 基于传递函数的频域响应频域响应幅值裕量2 基于状态空间的脉冲响应线性化操作滤波器补偿器补偿器基于状态空间的离散时域响应基于观测器的控制器观测器观测矩阵相位裕量相位与幅值计算极点配置频域响应方程基于传递函数的离散时域响应2 系统矩阵到状态空间变换2 反馈连接的状态空间到状态空间变换2 状态空间到传递函数变换稳定性计算2 传递函数到状态空间变换系统最小方差辨识22. 鲁棒控制被控对象增广操作矩阵近似H∞控制器离散H∞范数h2 H2 范数闭环矩阵H∞控制器H∞范数矩阵奇异值H∞控制器的增益无穷范数矩阵敏感函数23. 动态系统模型2p 基于模型中获得多项式矩阵辨识系统仿真噪声信号发生器常微分方程仿真检测伪随机二进制序列发生器线性拟合24. 系统与控制实例动态系统鱼群人口发展的离散时域模型具有观测器的动态系统相位图生物链模型渔业模型登陆火箭问题吸引子采矿问题可控可观系统3d 三维相位图二维相位图双线性回归方程动态系统动态系统的线性化动态系统的交互初始化25. 非线性工具(优化与仿真〕边界值问题的常微分方程隐式微分方程过零解代数微分方程基于测量数据的参数辨识导数计算非线性函数过零解线性微分方程2d 二维定积分3d 三维定积分不定积分非线性最小二乘法线性规划线性不等矩阵常微分方程离散常微分方程常微分方程根解连续/离散常微分方程非线性优化线性二次型规划半正定规划26. 多项式计算多项式系数多项式矩阵逆多项式阶数分母项有理矩阵求导矩阵行列式值因式分解型多项式计算有理矩阵逆最小公倍数多项式矩阵长除分子项多项式矩阵除2 多项式矩阵到表达式变换2 多项式到字符串变换最小因式余量多项式根多项式化简系统矩阵27. 信号处理椭圆积分完全椭圆积分椭圆函数模拟量低通滤波器滤波器响应倒谱计算1 一型响应2 二型响应多项式卷积相关, 协方差谱估计(应用相关法)离散富立叶变换快速富立叶变换滤波器建模滤波器设计协方差矩阵到矩阵变换变换数字滤波器信号采样率更改滤波器更新最大熵谱估计多维快速富立叶变换频率响应拟合过程滤波器平方根稳态滤波器观测更新线性相位滤波器(维纳)滤波器对称窗函数最小二乘滤波器模拟滤波器1 模拟滤波器28. 音频信号音频信号频域图读* 音频文件写* 音频文件2 将线性信号转换为μ率码信号取* 音频文件音频信号图示2 将μ率码信号转换为线性信号音频信号播放存* 音频文件读* 音频文件写* 音频文件29. 语言与数据转换工具字符串的码2 读格式的文件2 将函数生成码2 将的M 格式文件转换为格式文件取第4版本文件中变量按第4 版本文件格式存变量2 将多项式转换为格式2 将函数转换为格式文件按格式输出对象将子目录下的所有文件转换为文件格式。
fortran函数
fortran函数Fortran是一种编程语言,它提供了许多内置的函数,可以帮助程序员更轻松地完成任务。
这些函数通常称为Fortran函数。
Fortran函数是一组预定义的操作,可以接受零个或多个参数,并返回一个值。
这些函数可以在程序中使用,以执行各种任务,例如数学计算、字符串处理、输入/输出操作等。
Fortran函数的语法与其他编程语言中的函数非常相似。
通常,它们由函数名、参数列表和返回值组成。
例如,下面是一个计算正弦值的Fortran函数:```REAL FUNCTION SIN(X)REAL XSIN = SIN(X)END```这个函数被命名为SIN,它接受一个实数作为参数,并返回它的正弦值。
函数的返回值使用等号分配。
在Fortran中,函数的参数可以是任何数据类型,包括整数、实数、字符串、逻辑值等。
Fortran函数还可以具有可选的参数,这些参数在调用函数时可以省略。
要使用Fortran函数,您需要在程序中调用它们。
通常,这涉及到指定函数名和参数列表,并将返回值存储在变量中。
例如,下面是一个调用上面定义的SIN 函数的示例:```REAL X, YX = 3.14159Y = SIN(X)```在这个例子中,我们首先定义了一个实数变量X,并将其设置为3.14159。
然后,我们调用SIN函数,并将X作为参数传递给它。
该函数计算X的正弦值,并将其存储在变量Y中。
总的来说,Fortran函数是一种非常有用的工具,可以帮助程序员轻松完成各种任务。
无论您是正在编写数学计算、数据处理还是其他类型的程序,Fortran函数都可以帮助您更轻松地完成工作。
Fortran重点
求余数 MOD(A1,A2) 函数值:A1-INT(A1/A2)*A2 MOD(1,3)=1 MOD(3,1)=0
某些函数参数只能为实型 如:log(2.0) (loG(2)错) sqrt(2.0) sin(2.0)
(2) 转换函数
函数名 INT(X) REAL(X) 含义 实型转换整型、 复型的实部转换整型 整型转换实型、 复型的实部转换实型 FORTRAN举例 INT(2.3)=2 INT((1.2,3.5))=1 REAL(8)=8.0 REAL((1.2,3.5))=1.2
2.3.7 基本类型数组
数组是具有相同类型的元素的有序集合。数组在使用之前必须说明。 数组的说明: INTEGER,DIMENSION(1:50)::X
数组名为X,类型为整型,元素个数为50。
INTEGER,DIMENSION(5,3)::B 数组名为B,类型为整型,元素个数为5*3个
2.4.1 主程序
7、与外观一致的输入输出格式(重点)
① READ(*,’(3I2)’)((A (I,J),J=1,3),I=1,2) 格式隐DO输入: 1 2 3 4 5 6 ② DO I=1,2 READ(*,*)(A(I,J),J=1,3)
输入格式: 与外观一致
ENDDO
行显DO列隐DO的输入:1,2,3 4,5,6
2Y+2
1/2,2-1 [(a+b)+c]
((a+b)+c)
例:
2 1、 sin( 4) 3
(sin 4 cos10)e2.5 2、 2 ax ln(3 * 5)
想一想:
1/2*3.6-1.2的值? 有何 3.6*1/2-1.2的值? 不同?
fortran常用函数
Y=DMOD(X1,X2) 倍精度实数X1/X2之余数 REAL*8,REAL*8 REAL*8
Y=ISIGN(X1,X2) 取X1之值与X2之正负号 INTEGER,INTEGER INTEGER
Y=DATAN(X) X的倍精度正切反函数 REAL*8 REAL*8
Y=DSINH(X) X的倍精度双曲正弦函数 REAL*8 REAL*8
Y=DCOSH(X) X的倍精度双曲余弦函数 REAL*8 REAL*8
Y=DTANH(X) X的倍精度双曲正切函数 REAL*8 REAL*8
Y=DLOG(X) X的倍精度自然对数 REAL*8 REAL*8
Y=CDLOG(X) X的倍精度复数自然对数 COMPLEX*X) X的倍精度常用对数 REAL*8 REAL*8
Y=DSIN(X) X的倍精度正弦函数 REAL*8 REAL*8
Y=INT(X) 转换为整数 ALL(所有型态) INTEGER
Y=REAL(X) 转换为实数 INTEGER REAL
Y=DREAL(X) 取复数实部(倍精度) COMPLEX*16 REAL*8
Y=DIMAG(X) 取复数虚部(倍精度) COMPLEX*16 REAL*8
Y=DCMPLX(X1,X2) 转换为倍精度复数 ALL,ALL COMPLEX*16
Y=IABS(X) 整数绝对值 INTEGER INTEGER
Y=DABS(X) 倍精度实数绝对值 REAL*8 REAL*8
Y=CDABS(X) 倍精度复数绝对值 COMPLEX*16 REAL*8
Y=DCOS(X) X的倍精度余弦函数 REAL*8 REAL*8
[资料]fortran常用函数
1、RANDOM_NUMBERSyntax,,,,,['sintæks],,,,,n.,,,,,语法CALL,,,,,RANDOM_NUMBER,,,,,(harvest结果)Intrinsic,,,,,Subroutine(固有子程序):Returns,,,,,a,,,,,pseudorandom,,,,,number,,,,,greater,,,,,than,,,,,or,,,,,equal,,,,,to,,,,,zero,,,,, and,,,,,less,,,,,than,,,,,one,,,,,from,,,,,the,,,,,uniform,,,,,distribution.返回大于或等于0且小于1,服从均匀分布的随机数2、RNNOA/,,,,,DRNNOA,,,,,(Single/Double,,,,,precision)Generate,,,,,pseudorandom,,,,,numbers,,,,,from,,,,,a,,,,,standard,,,,,normal,,,,,dis tribution,, ,,,using,,,,,an,,,,,acceptance/rejection,,,,,method.产生服从标准正态分布的随机数Usage(用法)CALL,,,,,RNNOA,,,,,(NR,,,,,,R)A rguments(参数)NR,,,,,—,,,,,Number,,,,,of,,,,,random,,,,,numbers,,,,,to,,,,,generate.,,,,,,,,,,,,,,,(Input),,,,,要产生随机数的个数R,,,,,—,,,,,Vector,,,,,of,,,,,length,,,,,NR,,,,,containing,,,,,the,,,,,random,,,,,standard,,,,,norma l,,,,,deviates.,,,,,,,,,,,,,,,(Output),,,,,,,,,,输出长度为NR,随机正态分布的向量Comments(注解)The,,,,,routine,,,,,RNSET,,,,,can,,,,,be,,,,,used,,,,,to,,,,,initialize,,,,,the,,,,,seed,,,,,of,,,,,the,,, ,,random,,,,,number,,,,,generator.,,,,,The,,,,,routine,,,,,RNOPT,,,,,can,,,,,be,,,,,used,,,,,to,,, ,,select,,,,,the,,,,,form,,,,,of,,,,,the,,,,,generator.程序RNSET可以用来初始化随机数发生器的种子ExampleIn,,,,,this,,,,,example,,,,,,RNNOA,,,,,is,,,,,used,,,,,to,,,,,generate,,,,,five,,,,,pseudorandom,,,,, deviates,,,,,from,,,,,a,,,,,standard,,,,,normal,,,,,distribution.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,INTEGER,,,,,,,,,,,,,,,,,,,,ISEED,,, ,,,NOUT,,,,,,NR,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,REAL,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,R(5),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,EXTERNAL,,,,,,,,,,,,,,,RNNOA,,,,,,R NSET,,,,,,UMACHC,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,CALL,,,,,UMACH,,,,,(2,,,,,,NOUT),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,NR,,,,,,,,,,,,,,,,,,,,=,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ISEED,,,,,=,,,,,123457 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,CALL,,,,,RNSET,,,,,(ISEED),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,CALL,,,,,RNNOA,,,,,(NR,,,,,,R) ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,WRITE,,,,,(NOUT,99999),,,,,R 99999,,,,,FORMAT,,,,,(',,,,,,,,,,Standard,,,,,normal,,,,,random,, ,,,deviates:,,,,,',,,,,,5F8.4),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,END,,,,,,,,,,OutputStandard,,,,,normal,,,,,random,,,,,deviates:,,,,,,,,,,,,,,,2.0516 ,,,,,,,,,,1.0833,,,,,,,,,,0.0826,,,,,,,,,,1.2777,,,,,-1.22603、RESHAPEIntrinsic,,,,,Function(内部函数)Constructs,,,,,an,,,,,array,,,,,of,,,,,a,,,,,specified,,,,,shape,,,,,from,,,,,the,,,,,elements,,,,,of,,, ,,another,,,,,array.,,,,,构造规定形式的数组Syntax(语法)result,,,,,=,,,,,RESHAPE,,,,,(source,,,,,,shape,,,,,[,,,,,,,,,,,pad],,,,,[,,,,,,,,,,,order],,,,,,,,,,),,,,,,,,,,source(Input),,,,,,,,,,Any,,,,,type.,,,,,Array,,,,,whose,,,,,elements,,,,,will,,,,,be,,,,,taken,,,,,in,,,,,st andard,,,,,Fortran,,,,,array,,,,,order,,,,,(see,,,,,Remarks),,,,,,and,,,,,then,,,,,placed,,,,,into ,,,,,a,,,,,new,,,,,array.shape(Input),,,,,,,,,,Integer.,,,,,One-dimensional,,,,,array,,,,,that,,,,,describes,,,,,the,,,,,shape,,, ,,of,,,,,the,,,,,output,,,,,array,,,,,created,,,,,from,,,,,elements,,,,,of,,,,,source.,,,,,描述输出数组的大小的一维数组,The,,,,,elements,,,,,of,,,,,shape,,,,,are,,,,,the,,,,,sizes,,,,,of,,,,,the,,,,,dimensions,,,,,of,,,,,t he,,,,,reshaped,,,,,array,,,,,in,,,,,order.,,,,,If,,,,,pad,,,,,is,,,,,omitted省略,,,,,,the,,,,,total,,,,,size,,,,,specified,,,,,by,,,,,shape,,,,,must,,,,,be,,,,,less,,,,,than,,,,,or,,, ,,equal,,,,,to,,,,,source.pad,,,,,可选参数(Optional;,,,,,input),,,,,,,,,,Same,,,,,type,,,,,as,,,,,source.,,,,,Must,,,,,be,,,,,an,,,,,array.,,,,,I f,,,,,there,,,,,are,,,,,not,,,,,enough,,,,,elements,,,,,in,,,,,source,,,,,to,,,,,fill,,,,,the,,,,,result,, ,,,array,,,,,,elements,,,,,of,,,,,pad,,,,,are,,,,,added,,,,,in,,,,,standard,,,,,Fortran,,,,,array,,,, ,order.,,,,,If,,,,,necessary,,,,,,extra,,,,,copies,,,,,of,,,,,pad,,,,,are,,,,,used,,,,,to,,,,,fill,,,,,the ,,,,,array.,,,,,order,,,,,可选参数(Optional;,,,,,input),,,,,,,,,,Integer.,,,,,One-dimensional,,,,,array.,,,,,Must,,,,,be,,,,,the,,,,,s ame,,,,,length,,,,,as,,,,,shape.,,,,,Permutes,,,,,the,,,,,order,,,,,of,,,,,dimensions,,,,,in,,,,,th e,,,,,result,,,,,array.,,,,,The,,,,,value,,,,,of,,,,,order,,,,,must,,,,,be,,,,,a,,,,,permutation,,,,,of ,,,,,(1,,,,,,2,...n),,,,,where,,,,,n,,,,,is,,,,,the,,,,,size,,,,,of,,,,,shape. Return,,,,,Value(返回值)The,,,,,result,,,,,is,,,,,an,,,,,array,,,,,the,,,,,same,,,,,data,,,,,type,,,,,and,,,,,kind,,,,,as,,,,,sour ce,,,,,and,,,,,a,,,,,shape,,,,,as,,,,,defined,,,,,in,,,,,shape.,,,,,ExamplesINTEGER,,,,,AR1(,,,,,2,,,,,,5)REAL,,,,,F(5,3,8)REAL,,,,,C(8,3,5)AR1,,,,,=,,,,,RESHAPE((/1,2,3,4,5,6/),(/2,5/),(/0,0/),(/2,1/)) !,,,,,returns,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,2,,,,,,,,,,3,,,, ,,,,,,4,,,,,,,,,,5 !,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,6,,,,,,,,,,0,,,,,,,,,,0,,,,,,,,,,0,,,,,,,,,,0!!,,,,,Change,,,,,Fortran,,,,,array,,,,,order,,,,,to,,,,,C,,,,,arr ay,,,,,orderC,,,,,=,,,,,RESHAPE(F,,,,,,(/8,3,5/),,,,,,ORDER,,,,,=,,,,,(/3,,,, ,,2,,,,,,1/))END4、SUMIntrinsic,,,,,Function(内部函数),,,,,,,,,,,,,,,Sums,,,,,elements,,,,,of,,,,,an,,,,,array,,,,,or,,,,,the,,,,,elements,,,,,along,,,,,an ,,,,,optional,,,,,dimension.,,,,,The,,,,,elements,,,,,summed,,,,,can,,,,,be,,,,,selected,,,,,by,,,,, an,,,,,optional,,,,,mask.,,,,,将数组中的元素求和Syntax(语法)result,,,,,=,,,,,SUM,,,,,(array,,,,,[,,,,,,,,,,,dim],,,,,[,,,,,,,,,,,mask],,,,,),,,,,,,,,,array(Input),,,,,,,,,,Integer,,,,,,real,,,,,,or,,,,,complex.,,,,,Array,,,,,whose,,,,,elements,,,,,are,,,,,t o,,,,,be,,,,,summed.dim,,,,,可选参数(Optional;,,,,,input),,,,,,,,,,Integer.,,,,,Dimension,,,,,along,,,,,which,,,,,elements,,,,,are,,,,, summed.1,,,,,≤,,,,,dim,,,,,≤,,,,,n,,,,,,where,,,,,n,,,,,is,,,,,the,,,,,number,,,,,of,,,,,dimensions,,,,,in,,,,,a rray.mask,,,,,可选参数(Optional;,,,,,input),,,,,,,,,,Logical.,,,,,Must,,,,,be,,,,,same,,,,,shape,,,,,as,,,,,array.,,,,,If,,,,, mask,,,,,is,,,,,specified,,,,,,only,,,,,elements,,,,,in,,,,,array,,,,,that,,,,,correspond,,,,,to,,,,,.TRUE.,,,,,elements,,,,,in,,,,,mask,,,,,are,,,,,summed.,,,,,Return,,,,,Value(返回值)Same,,,,,type,,,,,and,,,,,kind,,,,,as,,,,,array,,,,,and,,,,,equal,,,,,to,,,,,the,,,,,sum,,,,,of,,,,,all,,,, ,elements,,,,,in,,,,,array,,,,,or,,,,,the,,,,,sum,,,,,of,,,,,elements,,,,,along,,,,,dimension,,,,,dim. ,,,,,If,,,,,mask,,,,,is,,,,,specified,,,,,,only,,,,,elements,,,,,that,,,,,correspond,,,,,to,,,,,.TRUE.,,, ,,elements,,,,,in,,,,,mask,,,,,are,,,,,summed.,,,,,Returns,,,,,a,,,,,scalar,,,,,if,,,,,dim,,,,,is,,,,,o mitted,,,,,or,,,,,array,,,,,is,,,,,one-dimensional.,,,,,Otherwise,,,,,,returns,,,,,an,,,,,array,,,,,on e,,,,,dimension,,,,,smaller,,,,,than,,,,,array.ExamplesINTEGER,,,,,array,,,,,(2,,,,,,3),,,,,,i,,,,,,j(3)array,,,,,=,,,,,RESHAPE((/1,,,,,,2,,,,,,3,,,,,,4,,,,,,5,,,,,,6/), ,,,,,(/2,,,,,,3/))!,,,,,,,,,,array,,,,,is,,,,,,,,,,1,,,,,3,,,,,5,,,,,!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,, ,,4,,,,,6,,,,,,,,,,i,,,,,=,,,,,SUM((/,,,,,1,,,,,,2,,,,,,3,,,,,/)),,,,,,,,,,,,,,,!,,, ,,returns,,,,,6j,,,,,=,,,,,SUM(array,,,,,,DIM,,,,,=,,,,,1),,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,!,,,,,returns,,,,,[3,,,,,7,,,,,11]WRITE(*,*),,,,,i,,,,,,jEND5、SEEDRun-Time,,,,,Subroutine,,,,,,,,,,,,,,,Changes,,,,,the,,,,,starting,,,,,point,,,,,of,,,,,the,,,,,pseu dorandom,,,,,number,,,,,generator.,,,,,改变随机数发生器的起始点ModuleUSE,,,,,MSFLIB,,,,,,,,,,Syntax(语法)CALL,,,,,SEED,,,,,(iseed),,,,,,,,,,iseed(Input),,,,,,,,,,INTEGER(4).,,,,,Starting,,,,,point,,,,,for,,,,,RANDOM.Remarks(注解)SEED,,,,,uses,,,,,iseed,,,,,to,,,,,establish,,,,,the,,,,,starting,,,,,point,,,,,of,,,,,the,,,,,pseudora ndom,,,,,number,,,,,generator.,,,,,A,,,,,given,,,,,seed,,,,,always,,,,,produces,,,,,the,,,,,same ,,,,,sequence,,,,,of,,,,,values,,,,,from,,,,,RANDOM.,,,,,If,,,,,SEED,,,,,is,,,,,not,,,,,called,,,,,before,,,,,the,,,,,first,,,,,call,,,,,to,,,,,RANDOM,,,,,,RAND OM,,,,,always,,,,,begins,,,,,with,,,,,a,,,,,seed,,,,,value,,,,,of,,,,,one.,,,,,If,,,,,a,,,,,program,,,,, must,,,,,have,,,,,a,,,,,different,,,,,pseudorandom,,,,,sequence,,,,,each,,,,,time,,,,,it,,,,,runs,,, ,,,pass,,,,,the,,,,,constant,,,,,RND$TIMESEED,,,,,(defined,,,,,in,,,,,MSFLIB.F90),,,,,to,,,,,th e,,,,,SEED,,,,,routine,,,,,before,,,,,the,,,,,first,,,,,call,,,,,to,,,,,RANDOM.,,,,,Example,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,USE,,,,,MSFLIB ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,REAL,,,,,,,,,,rand ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,CALL,,,,,SEED(7531) ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,CALL,,,,,RANDOM(rand)6、RANDOMPurposeRun-Time,,,,,Subroutine,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Returns,,,,,a,,,,,pseudorandom,,,,,number,,,,, greater,,,,,than,,,,,or,,,,,equal,,,,,to,,,,,zero,,,,,and,,,,,less,,,,,than,,,,,one,,,,,from,,,,,the,,,,,u niform,,,,,distribution.,,,,,返回大于或等于0且小于1,服从均匀分布的随机数ModuleUSE,,,,,MSFLIB,,,,,,,,,,SyntaxCALL,,,,,RANDOM,,,,,(ranval),,,,,,,,,,ranval(Output),,,,,,,,,,REAL(4).,,,,,Pseudorandom,,,,,number,,,,,,0,,,,,≤,,,,,ranval,,,,,<,,,,,1,,,,,,fr om,,,,,the,,,,,uniform,,,,,distribution.RemarksA,,,,,given,,,,,seed,,,,,always,,,,,produces,,,,,the,,,,,same,,,,,sequence,,,,,of,,,,,values,,,,,fro m,,,,,RANDOM.If,,,,,SEED,,,,,is,,,,,not,,,,,called,,,,,before,,,,,the,,,,,first,,,,,call,,,,,to,,,,,RANDOM,,,,,,RAND OM,,,,,begins,,,,,with,,,,,a,,,,,seed,,,,,value,,,,,of,,,,,one.,,,,,If,,,,,a,,,,,program,,,,,must,,,,,ha ve,,,,,a,,,,,different,,,,,pseudorandom,,,,,sequence,,,,,each,,,,,time,,,,,it,,,,,runs,,,,,,pass,,,,,t he,,,,,constant,,,,,RND$TIMESEED,,,,,(defined,,,,,in,,,,,MSFLIB.F90),,,,,to,,,,,SEED,,,,,bef ore,,,,,the,,,,,first,,,,,call,,,,,to,,,,,RANDOM.All,,,,,the,,,,,random,,,,,procedures,,,,,(RANDOM,,,,,,RAN,,,,,,and,,,,,RANDOM_NUMBER ,,,,,,and,,,,,the,,,,,PortLib,,,,,functions,,,,,DRAND,,,,,,DRANDM,,,,,,RAND,,,,,,IRANDM,,,,,, RAND,,,,,,and,,,,,RANDOM),,,,,use,,,,,the,,,,,same,,,,,algorithms,,,,,and,,,,,thus,,,,,return,,, ,,the,,,,,same,,,,,answers.,,,,,They,,,,,are,,,,,all,,,,,compatible,,,,,and,,,,,can,,,,,be,,,,,used,,, ,,interchangeably.,,,,,(The,,,,,algorithm,,,,,used,,,,,is,,,,,a,,,,,“Prime,,,,,Modulus,,,,,M,,,,,Mul tiplicative,,,,,Linear,,,,,Congruential,,,,,Generator,”,,,,,a,,,,,modified,,,,,version,,,,,of,,,,,the,,, ,,random,,,,,number,,,,,generator,,,,,by,,,,,Park,,,,,and,,,,,Miller,,,,,in,,,,,“Random,,,,,Numbe r,,,,,Generators:,,,,,Good,,,,,Ones,,,,,Are,,,,,Hard,,,,,to,,,,,Find,”,,,,,CACM,,,,,,October,,,,,19 88,,,,,,Vol.,,,,,31,,,,,,No.,,,,,10.)CompatibilityCONSOLE,,,,,,,,,,,,,,,STANDARD,,,,,GRAPHICS,,,,,,,,,,,,,,,QUICKW IN,,,,,GRAPHICS,,,,,,,, ,,,,,,,WINDOWS,,,,,,,,,,,,,,,DLL,,,,,,,,,,,,,,,LIBExample,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,USE,,,,,MSFLIB ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,REAL(4),,,,,,,,,,ran ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,CALL,,,,,SEED(1995) ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,CALL,,,,,RANDOM(ran)7、FFT2BCompute,,,,,the,,,,,inverse,,,,,Fourier,,,,,transform,,,,,of,,,,,a,,,,,complex,,,,,periodic,,,,,two-dimensional,,,,,array.计算二维复数数组的逆傅里叶变换Usage(用法)CALL,,,,,FFT2B,,,,,(NRCOEF,,,,,,NCCOEF,,,,,,COEF,,,,,,LDCOEF,,,,,,A,,,,,,LDA)A rguments(参数)NRCOEF,,,,,—,,,,,The,,,,,number,,,,,of,,,,,rows,,,,,of,,,,,COEF.,,,,,,,,,,,,,,,(Input),,,,,,,,,,,,,,,,,,,,, ,,,,数组COEF的行数NCCOEF,,,,,—,,,,,The,,,,,number,,,,,of,,,,,columns,,,,,of,,,,,COEF.,,,,,,,,,,,,,,,(Input),,,,,,,,,,数组COEF的列数COEF,,,,,—,,,,,NRCOEF,,,,,by,,,,,NCCOEF,,,,,complex,,,,,array,,,,,containing,,,,,the,,,,,Fourie r,,,,,coefficients,,,,,to,,,,,be,,,,,transformed.,,,,,,,,,,,,,,,(Input),,,,,,,,,,,,,,,NRCOEF行NCCOEF列数组LDCOEF,,,,,—,,,,,Leading,,,,,dimension,,,,,of,,,,,COEF,,,,,exactly,,,,,as,,,,,specified,,,,,in,,,,, the,,,,,dimension,,,,,statement,,,,,of,,,,,the,,,,,calling,,,,,program.,,,,,,,,,,,,,,,(Input)A,,,,,—,,,,,NRCOEF,,,,,by,,,,,NCCOEF,,,,,complex,,,,,array,,,,,containing,,,,,the,,,,,Inverse,,,,, Fourier,,,,,coefficients,,,,,of,,,,,COEF.,,,,,,,,,,,,,,,(Output),,,,,,,,,,,,,,,NRCOEF行NCCOEF列复数数组,包含数组COEF的逆傅里叶系数LDA,,,,,—,,,,,Leading,,,,,dimension,,,,,of,,,,,A,,,,,exactly,,,,,as,,,,,specified,,,,,in,,,,,the,,,,,di mension,,,,,statement,,,,,of,,,,,the,,,,,calling,,,,,program.,,,,,,,,,,,,,,,(Input)Comments(注解)1.Automatic,,,,,workspace,,,,,usage,,,,,isFFT2B4,,,,,*,,,,,(NRCOEF,,,,,+,,,,,NCCOEF),,,,,+,,,,,32,,,,,+,,,,,2,,,,,*,,,,,MAX(NRCOEF,,,,,,NCCOEF ),,,,,units,,,,,,orDFFT2B8,,,,,*,,,,,(NRCOEF,,,,,+,,,,,NCCOEF,,,,,),,,,,+,,,,,64,,,,,+,,,,,4,,,,,*,,,,,MAX(NRCOEF,,,,,,NCCO EF),,,,,units.Workspace,,,,,may,,,,,be,,,,,explicitly,,,,,provided,,,,,,if,,,,,desired,,,,,,by,,,,,us e,,,,,of,,,,,F2T 2B/DF2T2B.,,,,,The,,,,,reference,,,,,isCALL,,,,,F2T2B,,,,,(NRCOEF,,,,,,NCCOEF,,,,,,A,,,,,,LDA,,,,,,COEF, ,,,,,LDCOEF,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,WFF1, ,,,,,WFF2,,,,,,CWK,,,,,,CPY)The,,,,,additional,,,,,arguments,,,,,are,,,,,as,,,,,follows:WFF1,,,,,—,,,,,Real,,,,,array,,,,,of,,,,,length,,,,,4,,,,,*,,,,,NRCOEF,,,,,+,,,,,15,,,,,initialized,,,,,b y,,,,,FFTCI.,,,,,The,,,,,initialization,,,,,depends,,,,,on,,,,,NRCOEF.,,,,,,,,,,,,,,,(Input)WFF2,,,,,—,,,,,Real,,,,,array,,,,,of,,,,,length,,,,,4,,,,,*,,,,,NCCOEF,,,,,+,,,,,15,,,,,initialized,,,,,b y,,,,,FFTCI.,,,,,The,,,,,initialization,,,,,depends,,,,,on,,,,,NCCOEF.,,,,,,,,,,,,,,,(Input)CWK,,,,,—,,,,,Complex,,,,,array,,,,,of,,,,,length,,,,,1.,,,,,,,,,,,,,,,(Workspace)CPY,,,,,—,,,,,Real,,,,,array,,,,,of,,,,,length,,,,,2,,,,,*,,,,,MAX(NRCOEF,,,,,,NCCOEF).,,,,,,,,,,,,,,,( Workspace)2.The,,,,,routine,,,,,FFT2B,,,,,is,,,,,most,,,,,efficient,,,,,when,,,,,NRCOEF,,,,,and,,,,,NCCOEF, ,,,,are,,,,,the,,,,,product,,,,,of,,,,,small,,,,,primes.3.The,,,,,arrays,,,,,COEF,,,,,and,,,,,A,,,,,may,,,,,be,,,,,the,,,,,same.4.If,,,,,FFT2D/FFT2B,,,,,is,,,,,used,,,,,repeatedly,,,,,,with,,,,,the,,,,,same,,,,,values,,,,,for,,,, ,NRCOEF,,,,,and,,,,,NCCOEF,,,,,,then,,,,,use,,,,,FFTCI,,,,,to,,,,,fill,,,,,WFF1(N,,,,,=,,,,,NRCOEF ),,,,,and,,,,,WFF2(N,,,,,=,,,,,NCCOEF).,,,,,Follow,,,,,this,,,,,with,,,,,repeated,,,,,calls,,,,,to,,,,,F 2T2D/F2T2B.,,,,,This,,,,,is,,,,,more,,,,,efficient,,,,,than,,,,,repeated,,,,,calls,,,,,to,,,,,FFT2D/F FT2B.AlgorithmThe,,,,,routine,,,,,FFT2B,,,,,computes,,,,,the,,,,,inverse,,,,,discrete,,,,,complex,,,,,Fourier,,,, ,transform,,,,,of,,,,,a,,,,,complex,,,,,two-dimensional,,,,,array,,,,,of,,,,,size,,,,,(NRCOEF,,,,,=,, ,,,N),,,,,⨯,,,,,(NCCOEF,,,,,=,,,,,M).,,,,,The,,,,,method,,,,,used,,,,,is,,,,,a,,,,,variant,,,,,of,,,,,the,, ,,,Cooley-Tukey,,,,,algorithm,,,,,,,,,,,which,,,,,is,,,,,most,,,,,efficient,,,,,when,,,,,N,,,,,and,,,,, M,,,,,are,,,,,both,,,,,products,,,,,of,,,,,small,,,,,prime,,,,,factors.,,,,,If,,,,,N,,,,,and,,,,,M,,,,,sati sfy,,,,,this,,,,,condition,,,,,,then,,,,,the,,,,,computational,,,,,effort,,,,,is,,,,,proportional,,,,,to,,,, ,N,,,,,M,,,,,log,,,,,N,,,,,M.,,,,,This,,,,,considerable,,,,,savings,,,,,has,,,,,historically,,,,,led,,,,,p eople,,,,,to,,,,,refer,,,,,to,,,,,this,,,,,algorithm,,,,,,,,,,as,,,,,the,,,,,"fast,,,,,Fourier,,,,,transform" ,,,,,or,,,,,FFT.Specifically,,,,,,given,,,,,an,,,,,N,,,,,⨯,,,,,M,,,,,array,,,,,c,,,,,=,,,,,COEF,,,,,,FFT2B,,,,,returns,,, ,,in,,,,,aFurthermore,,,,,,a,,,,,vector,,,,,of,,,,,Euclidean,,,,,norm,,,,,S,,,,,is,,,,,mapped,,,,,into,,,,,a,,,,, vector,,,,,of,,,,,normFinally,,,,,,note,,,,,that,,,,,an,,,,,unnormalized,,,,,inverse,,,,,is,,,,,implemented,,,,,in,,,,,FFT2 D.,,,,,The,,,,,routine,,,,,FFT2B,,,,,is,,,,,based,,,,,on,,,,,the,,,,,complex,,,,,FFT,,,,,in,,,,,FFTP ACK.,,,,,The,,,,,package,,,,,FFTPACK,,,,,was,,,,,developed,,,,,by,,,,,Paul,,,,,Swarztrauber, ,,,,at,,,,,the,,,,,National,,,,,Center,,,,,for,,,,,Atmospheric,,,,,Research.ExampleIn,,,,,this,,,,,example,,,,,,we,,,,,first,,,,,compute,,,,,the,,,,,Fourier,,,,,transform,,,,,of,,,,,the,,,, ,5,,,,,⨯,,,,,4,,,,,arrayfor,,,,,1,,,,,≤,,,,,n,,,,,≤,,,,,5,,,,,and,,,,,1,,,,,≤,,,,,m,,,,,≤,,,,,4,,,,,using,,,,,the,,,,,IMSL,,,,,routine,, ,,,FFT2D.,,,,,The,,,,,resultis,,,,,then,,,,,inverted,,,,,by,,,,,a,,,,,call,,,,,to,,,,,FFT2B.,,,,,Note,,,,,that,,,,,the,,,,,result,,,,,is,,, ,,an,,,,,array,,,,,a,,,,,satisfying,,,,,a,,,,,=,,,,,(5)(4)x,,,,,=,,,,,20x.,,,,,In,,,,,general,,,,,,FFT2B,,,,, is,,,,,an,,,,,unnormalized,,,,,inverse,,,,,with,,,,,expansion,,,,,factor,,,,,N,,,,,M.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,INTEGER,,,,,,,,,,,,,,,,,,,,LDA,,,,, ,LDCOEF,,,,,,M,,,,,,N,,,,,,NCA,,,,,,NRA ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,COMPLEX,,,,,,,,,,,,,,,,,,,,CMPLX,,, ,,,X(5,4),,,,,,A(5,4),,,,,,COEF(5,4) ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,CHARACTER,,,,,,,,,,TITLE1*26,,,,,,T ITLE2*26,,,,,,TITLE3*26 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,INTRINSIC,,,,,,,,,,CMPLX ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,EXTERNAL,,,,,,,,,,,,,,,FFT2B,,,,,,F FT2D,,,,,,WRCRNC,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,TITLE1,,,,,=,,,,,'The,,,,,input,,,, ,matrix,,,,,is,,,,,below,,,,,' ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,TITLE2,,,,,=,,,,,'After,,,,,FFT2D,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,TITLE3,,,,,=,,,,,'After,,,,,FFT2B,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,NRA,,,,,,,,,,,,,,,,,,,,=,,,,,5 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,NCA,,,,,,,,,,,,,,,,,,,,=,,,,,4 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,LDA,,,,,,,,,,,,,,,,,,,,=,,,,,5 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,LDCOEF,,,,,=,,,,,5 C,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Fill,,,,,X,,,,,with,,,,,initi al,,,,,data,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,DO,,,,,20,,,,,,,,,,N=1,,,,,,NRA ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,DO,,,,,10,,,,,,,,,,M =1,,,,,,NCA ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,X(N,M ),,,,,=,,,,,CMPLX(FLOAT(N+5*M-5),0.0),,,,,,,,,,,,,,,10,,,,,,,,,,,,,,,,,,,,CONTINUE ,,,,,,,,,,,,,,,20,,,,,CONTINUEC,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,CALL,,,,,WRCRN,,,,,(TITLE1,,,,,,NRA ,,,,,,NCA,,,,,,X,,,,,,LDA,,,,,,0)C,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,CALL,,,,,FFT2D,,,,,(NRA,,,,,,NCA,,, ,,,X,,,,,,LDA,,,,,,COEF,,,,,,LDCOEF)C,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,CALL,,,,,WRCRN,,,,,(TITLE2,,,,,,NRA ,,,,,,NCA,,,,,,COEF,,,,,,LDCOEF,,,,,,0)C,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,CALL,,,,,FFT2B,,,,,(NRA,,,,,,NCA,,, ,,,COEF,,,,,,LDCOEF,,,,,,A,,,,,,LDA)C,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,CALL,,,,,WRCRN,,,,,(TITLE3,,,,,,NRA ,,,,,,NCA,,,,,,A,,,,,,LDA,,,,,,0)C,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,END,,,,,,,,,,Output ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,The,,,,,input,,,,,matrix,,,,,is,,,,,below,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,41,,,,,,,,,,(,,,,,,,,,,1.00,,,,,,,,,,,0.00),,,,,,,,,,(,,,,,,,,,,6. 00,,,,,,,,,,,0.00),,,,,,,,,,(,,,,,11.00,,,,,,,,,,,0.00),,,,,,,,,, (,,,,,16.00,,,,,,,,,,,0.00)2,,,,,,,,,,(,,,,,,,,,,2.00,,,,,,,,,,,0.00),,,,,,,,,,(,,,,,,,,,,7. 00,,,,,,,,,,,0.00),,,,,,,,,,(,,,,,12.00,,,,,,,,,,,0.00),,,,,,,,,, (,,,,,17.00,,,,,,,,,,,0.00)3,,,,,,,,,,(,,,,,,,,,,3.00,,,,,,,,,,,0.00),,,,,,,,,,(,,,,,,,,,,8. 00,,,,,,,,,,,0.00),,,,,,,,,,(,,,,,13.00,,,,,,,,,,,0.00),,,,,,,,,, (,,,,,18.00,,,,,,,,,,,0.00)4,,,,,,,,,,(,,,,,,,,,,4.00,,,,,,,,,,,0.00),,,,,,,,,,(,,,,,,,,,,9. 00,,,,,,,,,,,0.00),,,,,,,,,,(,,,,,14.00,,,,,,,,,,,0.00),,,,,,,,,, (,,,,,19.00,,,,,,,,,,,0.00)5,,,,,,,,,,(,,,,,,,,,,5.00,,,,,,,,,,,0.00),,,,,,,,,,(,,,,,10.00,, ,,,,,,,,,0.00),,,,,,,,,,(,,,,,15.00,,,,,,,,,,,0.00),,,,,,,,,,(,,, ,,20.00,,,,,,,,,,,0.00) ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,After,,,,,FFT2D ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4 1,,,,,,,,,,(,,,,,210.0,,,,,,,,,,,,,,,,0.0),,,,,,,,,,(,,,,,-50.0,, ,,,,,,,,,50.0),,,,,,,,,,(,,,,,-50.0,,,,,,,,,,,,,,,,0.0),,,,,,,,,, (,,,,,-50.0,,,,,,-50.0)2,,,,,,,,,,(,,,,,-10.0,,,,,,,,,,,13.8),,,,,,,,,,(,,,,,,,,,,,,,,,0 .0,,,,,,,,,,,,,,,,0.0),,,,,,,,,,(,,,,,,,,,,,,,,,0.0,,,,,,,,,,,,,, ,,0.0),,,,,,,,,,(,,,,,,,,,,,,,,,0.0,,,,,,,,,,,,,,,,0.0) 3,,,,,,,,,,(,,,,,-10.0,,,,,,,,,,,,,,,,3.2),,,,,,,,,,(,,,,,,,,,,,, ,,,0.0,,,,,,,,,,,,,,,,0.0),,,,,,,,,,(,,,,,,,,,,,,,,,0.0,,,,,,,,,, ,,,,,,0.0),,,,,,,,,,(,,,,,,,,,,,,,,,0.0,,,,,,,,,,,,,,,,0.0)4,,,,,,,,,,(,,,,,-10.0,,,,,,,,,,,-3.2),,,,,,,,,,(,,,,,,,,,,,,,,,0 .0,,,,,,,,,,,,,,,,0.0),,,,,,,,,,(,,,,,,,,,,,,,,,0.0,,,,,,,,,,,,,, ,,0.0),,,,,,,,,,(,,,,,,,,,,,,,,,0.0,,,,,,,,,,,,,,,,0.0)5,,,,,,,,,,(,,,,,-10.0,,,,,,-13.8),,,,,,,,,,(,,,,,,,,,,,,,,,0.0,, ,,,,,,,,,,,,,,0.0),,,,,,,,,,(,,,,,,,,,,,,,,,0.0,,,,,,,,,,,,,,,,0.0),,,,,,,,,,(,,,,,,,,,,,,,,,0.0,,,,,,,,,,,,,,,,0.0) ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,After,,,,,FFT2B ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,41,,,,,,,,,,(,,,,,,,,,,20.0,,,,,,,,,,,,,,,,0.0),,,,,,,,,,(,,,,,120 .0,,,,,,,,,,,,,,,,0.0),,,,,,,,,,(,,,,,220.0,,,,,,,,,,,,,,,,0.0),, ,,,,,,,,(,,,,,320.0,,,,,,,,,,,,,,,,0.0)2,,,,,,,,,,(,,,,,,,,,,40.0,,,,,,,,,,,,,,,,0.0),,,,,,,,,,(,,,,,140 .0,,,,,,,,,,,,,,,,0.0),,,,,,,,,,(,,,,,240.0,,,,,,,,,,,,,,,,0.0),, ,,,,,,,,(,,,,,340.0,,,,,,,,,,,,,,,,0.0)3,,,,,,,,,,(,,,,,,,,,,60.0,,,,,,,,,,,,,,,,0.0),,,,,,,,,,(,,,,,160 .0,,,,,,,,,,,,,,,,0.0),,,,,,,,,,(,,,,,260.0,,,,,,,,,,,,,,,,0.0),, ,,,,,,,,(,,,,,360.0,,,,,,,,,,,,,,,,0.0)4,,,,,,,,,,(,,,,,,,,,,80.0,,,,,,,,,,,,,,,,0.0),,,,,,,,,,(,,,,,180 .0,,,,,,,,,,,,,,,,0.0),,,,,,,,,,(,,,,,280.0,,,,,,,,,,,,,,,,0.0),, ,,,,,,,,(,,,,,380.0,,,,,,,,,,,,,,,,0.0)5,,,,,,,,,,(,,,,,100.0,,,,,,,,,,,,,,,,0.0),,,,,,,,,,(,,,,,200.0,, ,,,,,,,,,,,,,,0.0),,,,,,,,,,(,,,,,300.0,,,,,,,,,,,,,,,,0.0),,,,,, ,,,,(,,,,,400.0,,,,,,,,,,,,,,,,0.0),,,,,,,,,,8、TIMEFPurposePortLib,,,,,Function,,,,,,,,,,,,,,,Returns,,,,,the,,,,,number,,,,,of,,,,,seconds,,,,,since,,,,,the,,,, ,first,,,,,time,,,,,it,,,,,is,,,,,called,,,,,,or,,,,,zero.ModuleUSE,,,,,PORTLIB,,,,,,,,,,Syntaxresult,,,,,=,,,,,TIMEF,,,,,(,,,,,),,,,,,,,,,Return,,,,,ValueREAL(8).,,,,,Number,,,,,of,,,,,seconds,,,,,that,,,,,have,,,,,elapsed,,,,,since,,,,,the,,,,,first,,,,,ti me,,,,,TIMEF(,,,,,),,,,,was,,,,,called.,,,,,The,,,,,first,,,,,time,,,,,called,,,,,,TIMEF,,,,,returns,,,,, 0.0D0.CompatibilityCONSOLE,,,,,,,,,,,,,,,STANDARD,,,,,GRAPHICS,,,,,,,,,,,,,,,QUICKW IN,,,,,GRAPHICS,,,,,,,, ,,,,,,,WINDOWS,,,,,,,,,,,,,,,DLL,,,,,,,,,,,,,,,LIB,,,,,,,,,,,,,,,Example,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,USE,,,,,PORTLIB ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,INTEGER,,,,,i,,,,,,j ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,REAL(8),,,,,elapsed_time ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,elapsed_time,,,,,=,,,,,TIMEF() ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,DO,,,,,i,,,,,=,,,,,1,,,,,,100000 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,j,,,,,=,,,,,j,,,,,+,,,,,1 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,END,,,,,DO ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,elapsed_time,,,,,=,,,,,TIMEF() ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,PRINT,,,,,*,,,,,,elapsed_time ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,END。
fortran随机函数
fortran随机函数【1.Fortran随机函数简介】Fortran(Formula Translation)是一种高级编程语言,主要用于数值计算和科学计算。
在Fortran中,随机函数广泛应用于模拟、优化和统计等领域。
本文将介绍一些常用的Fortran随机函数,以及通过实例演示如何使用这些函数。
【2.常用Fortran随机函数介绍】1.均匀分布随机数生成函数:- 生成[a, b]区间上均匀分布的随机数:`UNIFORM(a, b)`2.正态分布随机数生成函数:- 生成均值为μ、标准差为σ的正态分布随机数:`NORMAL(μ, σ)`3.指数分布随机数生成函数:- 生成均值为λ、尺度参数为θ的指数分布随机数:`EXPONENTIAL(λ, θ)`4.泊松分布随机数生成函数:- 生成参数为λ的泊松分布随机数:`POISSON(λ)`5.伽马分布随机数生成函数:- 生成形状参数为α、尺度参数为β的伽马分布随机数:`GAMMA(α, β)`【3.实例演示】以下为一个简单的Fortran程序,演示如何生成一组正态分布随机数:```fortranprogram normal_exampleimplicit nonereal(8) :: mean = 0.0real(8) :: sigma = 1.0integer :: n = 1000real(8) :: rand_numdo i = 1, ncall random_number(rand_num)write(*,*) rand_numend doend program normal_example```【4.总结与建议】本文对Fortran中的随机函数进行了简要介绍,包括均匀分布、正态分布、指数分布、泊松分布和伽马分布等。
在实际应用中,根据问题需求选择合适的随机函数,并合理设置参数,可以有效地模拟和分析各种随机现象。
对于初学者,建议多加练习,熟练掌握这些函数的使用方法。
(完整版)fortran函数总结
附录C SCILAB 部分函数指令表(c)LIAMA. All rights reserved.(注解:本指令表只收集了部分常用指令, 有关全部指令请参照文档文件) + 加- 减* 矩阵乘数组乘 *.1. 通用指令^ 矩阵乘方数组乘方 ^.\ 反斜杠或左除help 在线帮助/ 斜杠或右除apropos 文档中关键词搜寻或.\ 数组除/.ans 缺省变量名以及最新表达式的运算结果== 等号~= 不等号clear 从内存中清除变量和函数< 小于exit 关闭SCILAB> 大于quit 退出SCILAB<= 小于或等于save 把内存变量存入磁盘>= 大于或等于exec 运行脚本文件&,and 逻辑与mode 文件运行中的显示格式|,or 逻辑或getversion 显示SCILAB 版本~,not 逻辑非ieee 浮点运算溢出显示模式选择: 冒号who 列出工作内存中的变量名( ) 园括号edit 文件编辑器[ ] 方括号type 变量类型{ } 花括号what 列出SCILAB 基本命令小数点 .format 设置数据输出格式, 逗号chdir 改变当前工作目录; 分号getenv 给出环境值// 注释号mkdir 创建目录= 赋值符号pwd 显示当前工作目录' 引号evstr 执行表达式' 复数转置号转置号 '.ans 最新表达式的运算结果2.运算符和特殊算符%eps 浮点误差容限, =2 -52≈2.22×10-16%i 虚数单位= √(-1)%inf 正无穷大%pi 圆周率,π=3.1415926535897....3. 编程语言结构abort 中止计算或循环break 终止最内循环case 同select 一起使用continue 将控制转交给外层的for或while循环else 同if一起使用elseif 同if一起使用end 结束for,while,if 语句for 按规定次数重复执行语句if 条件执行语句otherwise 可同switch 一起使用pause 暂停模式return 返回select 多个条件分支then 同if一起使用while 不确定次数重复执行语句eval 特定值计算feval 函数特定值计算或多变量计算function 函数文件头global 定义全局变量isglobal 检测变量是否为全局变量error 显示错误信息lasterror 显示最近的错误信息sprintf 按格式把数字转换为串warning 显示警告信息4.基本数学函数acos 反余弦acosh 反双曲余弦acot 反余切acoth 反双曲余切acsc 反余割acsch 反双曲余割asin 反正弦asinh 反双曲正弦atan 反正切atanh 反双曲正切cos 余弦cosh 双曲余弦cotg 余切coth 双曲余切sin 正弦sinh 双曲正弦tan 正切tanh 双曲正切exp 指数log 自然对数log10 常用对数log2 以2为底的对数sqrt 平方根abs 绝对值conj 复数共轭imag 复数虚部real 复数实部ceil 向上(正无穷大方向)取整fix 向零方向取整floor 向下(负无穷大方向)取整round 四舍五入取整sign 符号函数gsort 降次排序erf 误差函数erfc 补误差函数gamma gamma 函数interp 插值函数interpln 线性插值函数intsplin 样条插值函数smooth 样条平滑函数spline 样条函数quarewave 方波函数sign 符号函数double 将整数转换为双精度浮点数5.基本矩阵函数和操作eye 单位阵zeros 全零矩阵ones 全1 矩阵rand 均匀分布随机阵genmarkov 生成随机Markov 矩阵linspace 线性等分向量logspace 对数等分向量logm 矩阵对数运算cumprod 矩阵元素累计乘cumsum 矩阵元素累计和toeplitz Toeplitz 矩阵disp 显示矩阵和文字内容length 确定向量的长度size 确定矩阵的维数diag 创建对角阵或抽取对角向量find 找出非零元素1的下标matrix 矩阵变维rot90 矩阵逆时针旋转90度sub2ind 据全下标换算出单下标tril 抽取下三角阵triu 抽取上三角阵conj 共轭矩阵companion 伴随矩阵det 行列式的值norm 矩阵或向量范数nnz 矩阵中非零元素个数null 清空向量或矩阵中的某个元素orth 正交基rank 矩阵秩trace 矩阵迹cond 矩阵条件数rcond 逆矩阵条件数inv 矩阵的逆lu LU分解或高斯消元法pinv 伪逆qr QR分解givens Givens 变换linsolve 求解线性方程lyap Lyapunov 方程hess Hessenberg 矩阵poly 特征多项式schur Schur 分解expm 矩阵指数expm1 矩阵指数的Pade逼近expm2 用泰勒级数求矩阵指数expm3 通过特征值和特征向量求矩阵指数funm 计算一般矩阵函数logm 矩阵对数sqrtm 矩阵平方根6. 特性值与奇异值spec 矩阵特征值gspec 矩阵束特征值bdiag 块矩阵, 广义特征向量eigenmarkov 正则化Markov 特征向量pbig 特征空间投影svd 奇异值分解sva 奇异值分解近似7. 矩阵元素运算cumprod 元素累计积cumsum 元素累计和hist 统计频数直方图max 最大值mean 平均值median 中值min 最小值prod 元素积sort 由大到小排序std 标准差sum 元素和trapz 梯形数值积分corr 求相关系数或方差8. 稀疏矩阵运算sparse 稀疏矩阵(只存储非零元素)adj2sp 邻接矩阵转换为稀疏矩阵full 稀疏矩阵转换为全矩阵mtlb_sparse 将SCILAB 稀疏矩阵转换为MATLAB稀疏矩阵格式sp2adj 稀疏矩阵转换为邻接矩阵speye 稀疏矩阵方式单位阵sprand 稀疏矩阵方式随机矩阵spzeros 稀疏矩阵方式全零阵lufact 稀疏矩阵LU分解lusolve 稀疏矩阵方程求解spchol 稀疏矩阵Cholesky分解9. 输入输出函数diary 生成屏幕文本记录disp 变量显示file 文件管理input 用户键盘输入load 读已存的变量mclose 关闭文件mget 读二进制文件mgetl 按行读ASCII码文件mgetstr 读字符串中单个字mopen 打开文件mput 写二进制文件mfscanf 读ASCII 码文件print 将变量记录为文件read 读矩阵变量save 存变量为二进制文件strartup 启动文件write 按格式存文件xgetfile 对话方式获取文件路径x_dialog 建立Xwindow参数输入对话框Tk_Getvar 得到Tk文件变量Tk_EvalFile 执行Tk 文件10. 函数与函数库操作deff 在线定义函数edit 函数编辑器function 打开函数定义functions SCILAB 函数或对象genlib 在给定目录下建立所有文件的函数库get_function_path 读函数库的文件存储目录路径getd 读函数库中的全部文件getf 在文件中定义一个函数lib 函数库定义macro SCILAB函数或对象macrovar 输入变量个数newfun 输出变量个数11. 字符串操作code2str 将SCILAB数码转换为字符串convstr 字母大小转换emptystr 清空字符串grep 搜寻相同字符串part 字符提取str2code 将字符串转换为SCILAB数码string 字符串转换strings SCILAB 对象, 字符串strcat 连接字符strindex 字符串的字符位置搜寻strsubst 字符串中的字符替换12. 日期与时间date 日期getdate 读日期与时间timer CPU时间计时13. 二维图形函数plot2d 直角坐标下线性刻度曲线champ 2 维向量场champ1 由颜色箭头表示的2维向量场contour2d 等高线图errbar 曲线上增加误差范围框线条grayplot 应用颜色表示的表面xgrid 画坐标网格线histplot 统计频数直方图Matplot 散点图阵列14. 三维图形函数plot3d 三维表面plot3d1 用颜色或灰度表示的三维表面param3d 三维中单曲线param3d1 三维中多曲线contour 三维表面上的等高线图hist3d 三维表示的统计频数直方图geom3d 三维向二维上的投影15. 线条类图形xpoly 单线条或单多边形xpolys 多线条或多各多边形xrpoly 正多边形xsegs 非连接线段xfpoly 单个多边形内填充xfpolys 多个多边形内填充xrect 矩形xfrect 单个矩形内填充xrects 多个矩形内填充xarc 单个弧线段或弧园xarcs 多个弧线段或弧园xfarc 单个弧线段或弧园填充xfarcs 多个弧线段或弧园填充xarrows 多箭头16. 图形注释, 变换xstring 图形中字符xstringb 框内字符xtitle 图形标题xaxis 轴名标注plotframe 图形加框并画坐标网格线isoview 等尺寸比例显示(原图形窗口不改变)square 等尺寸比例显示(原图形窗口改变)xsetech 设置小窗口xchange 转换实数为图形象素坐标值subplot 设置多个子窗口17. 图形颜色及图形文字colormap 应用颜色图getcolor 交互式选择颜色图addcolor 增加新色于颜色图graycolormap 线性灰度图hotcolormap 热色(红到黄色)颜色图xset 图形显示方式设定xget 读当前图形显示方式设定getsymbol 交互式选择符号和尺寸18. 图形文件及图形文字xsave 将图形存储为文件xload 从磁盘中读出图形文件xbasimp 将图形按PS文件打印或存储为文件xs2fig 将图形生成Xfig 格式文件xbasc 取消图形窗及其相关内容xclear 清空图形窗driver 选择图形驱动器xinit 图形驱动器初始化xend 关闭图形xbasr 图形刷新replot 更改显示范围后的图形刷新xdel 关闭图形xname 改变当前图形窗名称19. 控制分析用图形bode 伯德图坐标gainplot 幅值图坐标(伯德图中的幅值图)nyquist 奈奎斯特图m_circle M-圆图chart 尼库拉斯图black Black-图evans 根轨迹图sgrid s 平面图plzr 零-极点图zgrid z 平面图20. 图形应用中的其它指令graphics 图形库指令表xclick 等待鼠标在图形上的点击输入locate 由鼠标点击读入图形中的多点位置坐标xgetmouse 由鼠标点击读入图形中的当前点位置坐标21. 系统与控制abcd 状态空间矩阵cont_mat 可控矩阵csim 线性系统时域响应dsimul 状态空间的离散时域响应feedback 反馈操作符flts 时域响应(离散、采样系统〕frep2tf 基于传递函数的频域响应freq 频域响应g_margin 幅值裕量imrep2ss 基于状态空间的脉冲响应lin 线性化操作lqe Kalman 滤波器lqg LQG补偿器lqr LQ补偿器ltitr 基于状态空间的离散时域响应obscont 基于观测器的控制器observer 观测器obsv_mat 观测矩阵p_margin 相位裕量phasemag 相位与幅值计算ppol 极点配置repfreq 频域响应ricc Riccati 方程rtitr 基于传递函数的离散时域响应sm2ss 系统矩阵到状态空间变换ss2ss 反馈连接的状态空间到状态空间变换ss2tf 状态空间到传递函数变换stabil 稳定性计算tf2ss 传递函数到状态空间变换time_id SISO系统最小方差辨识22. 鲁棒控制augment 被控对象增广操作bstap Hankel 矩阵近似ccontrg H∞控制器dhnorm 离散H∞范数h2norm H2 范数h_cl 闭环矩阵h_inf H∞控制器h_norm H∞范数hankelsv Hankel 矩阵奇异值leqr H∞控制器的LQ增益linf 无穷范数riccati Riccati 矩阵sensi 敏感函数23. 动态系统arma ARMA 模型arma2p 基于AR模型中获得多项式矩阵armac ARMAX 辨识arsimul ARMAX系统仿真noisegen 噪声信号发生器odedi 常微分方程仿真检测prbs_a 伪随机二进制序列发生器reglin 线性拟合24. 系统与控制实例artest Arnold 动态系统bifish 鱼群人口发展的离散时域模型boucle 具有观测器的动态系统相位图chaintest 生物链模型gpech 渔业模型fusee 登陆火箭问题lotest Lorennz 吸引子mine 采矿问题obscontl 可控可观系统portr3d 三维相位图portrait 二维相位图recur 双线性回归方程systems 动态系统tangent 动态系统的线性化tadinit 动态系统的交互初始化25. 非线性工具(优化与仿真〕bvode 边界值问题的常微分方程dasrt 隐式微分方程过零解dassl 代数微分方程datafit 基于测量数据的参数辨识derivative 导数计算fsolve 非线性函数过零解impl 线性微分方程int2d 二维定积分int3d 三维定积分intg 不定积分leastsq 非线性最小二乘法linpro 线性规划lmisolver 线性不等矩阵ode 常微分方程ode_discrete 离散常微分方程ode_root 常微分方程根解odedc 连续/离散常微分方程optim 非线性优化quapro 线性二次型规划semidef 半正定规划26. 多项式计算coeff 多项式系数coffg 多项式矩阵逆degree 多项式阶数denom 分母项derivat 有理矩阵求导determ 矩阵行列式值factors 因式分解hermit Hermit 型horner 多项式计算invr 有理矩阵逆lcm 最小公倍数ldiv 多项式矩阵长除numer 分子项pdiv 多项式矩阵除pol2des 多项式矩阵到表达式变换pol2str 多项式到字符串变换polfact 最小因式residu 余量roots 多项式根simp 多项式化简systmat 系统矩阵27. 信号处理%asn 椭圆积分%k Jacobi 完全椭圆积分%sn Jacobi 椭圆函数analpf 模拟量低通滤波器buttmag Butterworth 滤波器响应cepstrum 倒谱计算cheb1mag Chebyshev 一型响应cheb2mag Chebyshev 二型响应chepol Chebyshev 多项式convol 卷积corr 相关, 协方差cspect 谱估计(应用相关法)dft 离散富立叶变换fft 快速富立叶变换filter 滤波器建模fsfirlin FIR滤波器设计hank 协方差矩阵到Hankel矩阵变换hilb Hilbert 变换iir IIR数字滤波器intdec 信号采样率更改kalm Kalman 滤波器更新mese 最大熵谱估计mfft 多维快速富立叶变换mrfit 频率响应拟合phc Markov 过程srkf Kalman 滤波器平方根sskf 稳态Kalman 滤波器system 观测更新wfir 线性相位FIR滤波器weiener Weiener(维纳)滤波器window 对称窗函数yulewalk 最小二乘滤波器zpbutt Buthererworth 模拟滤波器zpch1 Chebyshev 模拟滤波器28. 音频信号analyze 音频信号频域图auread 读*.au 音频文件auwrite 写*.au 音频文件lin2mu 将线性信号转换为μ率码信号loadwave 取*.wav 音频文件mapsound 音频信号图示mu2lin 将μ率码信号转换为线性信号playsnd 音频信号播放savewave 存*.wav 音频文件wavread 读*.wav 音频文件wavwrite 写*.wav 音频文件29. 语言与数据转换工具ascii 字符串的ASCII码excel2sci 读ASCII 格式的Excel 文件fun2string 将SCILAB 函数生成ASCII 码mfile2sci 将MATLAB 的M 格式文件转换为SCI格式文件mtlb_load 取MATLAB第4版本文件中变量matlb_save 按MATLAB 第4 版本文件格式存变量pol2tex 将多项式转换为TeX格式sci2for 将SCILAB 函数转换为FORTRAN格式文件texprint 按TeX 格式输出SCILAB 对象translatepaths 将子目录下的所有MATLAB文件转换为SCI文件格式。
常用的fortran函数 (1)
函数名含义应用例子相当数学上的运算ABS EXP SIN COS ASIN ACOS TAN ATAN LOG LOGlO INT MOD SIGN REAL MAX MIN 求绝对值指数运算正弦值余弦值反正弦反余弦正切反正切自然对数常用对数取整求余求符号转换为实型求最大值求最小值ABS(X)EXP(X)SIN(X)COS(X)ASIN(X)ACOS(X)TAN(X)ATAN(X)ALOG(X)ALOG10(X)INT(X)MOD(X1,X2)SIGN(Xl,X2)REAL(I)MAX0(I1,I2,I3)MIN(Xl,X2,X3)x)exp(xxsinxcosxarcsinxarccosxtanxarctanxlnx10log()xint,取x的整数部分()221int xxxx⋅-1x(当02≥x),1x-(当02<x)()321,,m ax iii()321,,m in xxx函数名称描述ALL(mask[,dim]) 判断全部数组值在指定维上是否都满足mask的条件ANY(mask[,dim]) 判断是否有数组值在指定维上满足mask的条件COUNT(mask[,dim]) 统计在指定维上满足mask的条件的元素个数CSHIFT(array,shift[,dim]) 进行指定维上的循环替换DOT_PRODUCT(vector_a,vector_b) 进行两个向量的点乘EOSHIFT(array,shift[,boundary][,dim]) 在指定维上替换掉数组末端,复制边界值到数组末尾LBOUND(array[,dim]) 返回指定维上的下界MATMUL(matrix_a,matrix_b) 进行两个矩阵(二维数组)的乘积MAXLOC(array[,dim][,mask]) 返回数组的全部元素或指定维元素当满足mask条件的最大值的位置MAXV AL(array[,dim][,mask]) 返回在指定维上满足mask条件的最大值MERGE(tsource,fsource,mask) 按mask条件组合两个数组MINLOC(array[,dim][,mask]) 返回数组的全部元素或指定维元素当满足mask条件的最小值的位置MINV AL(array[,dim][,mask]) 返回在指定维上满足mask条件的最小值PACK(array,mask[,vector]) 使用mask条件把一个数组压缩至vector大小的向量PRODUCT(array[,dim][,mask]) 返回在指定维上满足mask条件的元素的乘积RESHAPE(source,shape[,pad][,order]) 使用顺序order和补充pad数组元素来改变数组形状SHAPE(source) 返回数组的形状SIZE(array[,dim]) 返回数组在指定维上的长度SPREAD(source,dim,ncopies) 通过增加一维来复制数组SUM(array[,dim][,mask]) 返回在指定维上满足mask条件的元素的和TRANSPOSE(matrix) 转置二维数组UBOUND(array[,dim]) 返回指定维上的上界UNPACK(vector,mask,field) 把向量在mask条件下填充field的元素解压至数组。
fortran min函数
fortran min函数fortran min函数是Fortran(Formula Translation)编程语言中用于求解最小值的函数。
在科学计算、工程应用等领域具有广泛的应用。
本文将介绍Fortran min函数的实现方式、应用实例以及注意事项。
一、Fortran min函数简介在Fortran语言中,min函数用于寻找一组数中的最小值。
其一般形式为:```fortranfunction min(x, y)implicit nonereal(8), intent(in) :: x, yreal(8) :: minmin = xif (x > y) thenmin = yend ifend function min```二、Fortran min函数的实现方式Fortran min函数通过比较输入参数x和y的值,将较小者赋值给变量min。
以下是一个简单的实例:```fortranprogram mainimplicit nonereal(8) :: a, b, min_vala = 3.5b = 1.2min_val = min(a, b)write(*,*) "最小值为:", min_valend program main```运行上述程序,输出结果为:```最小值为:1.2```三、应用实例与代码展示以下是一个求解一组数中的最小值的示例:```fortranprogram min_exampleimplicit noneinteger, dimension(10) :: numsreal(8) :: min_valinteger :: i, min_index! 初始化一组整数do i = 1, 10nums(i) = iend do! 寻找最小值及其索引min_val = min(nums(1:10))min_index = minloc(nums(1:10))write(*,*) "最小值为:", min_valwrite(*,*) "最小值索引为:", min_indexend program min_example```运行上述程序,输出结果为:```最小值为:1最小值索引为:1```四、注意事项与技巧1.当调用Fortran min函数时,请确保输入参数为实型数据,否则可能会引发错误。
Fortran函数大全(1)
Fortran函数大全(1)Fortran库参考SunStudio11SunMicrosystems,文件号码819-4757-102005年11月, 修订版A请将有关本文档的意见和建议提交至:/hwdocs/feedback版权所有#169;2005SunMicrosystems,Inc.,4150NetworkCircle,SantaCla ra,California95054,U.S.A.保留所有权利.美国政府权利-商业用途. 政府用户应遵循SunMicrosystems,Inc.的标准许可协议, 以及FAR (FederalAcquisitionRegulations, 即“联邦政府采购法规”)的适合条款及其补充条款. 必须依据许可证条款使用. 本发行版可能包含由第三方开辟的内容.本产品的某些部份可能是从BerkeleyBSD系统衍生出来的, 并获得了加利福尼亚大学的许可. UNIX是X/OpenCompany,Ltd.在美国和其他国家/地区独家许可的注册商标.Sun、SunMicrosystems、Sun徽标、Java和JavaHelp是SunMicrosystems,Inc.在美国和其他国家/地区的商标或者注册商标. 所有的SPARC商标的使用均已获得许可, 它们是SPARCInternational,Inc.在美国和其他国家/地区的商标或者注册商标. 标有SPARC商标的产品均基于由SunMicrosystems,Inc.开辟的体系结构.本服务手册所介绍的产品以及所包含的信息受美国出口控制法制约, 并应遵守其他国家/地区的进出口法律. 严禁将本产品直接或者间接地用于核设施、导弹、生化武器或者海上核设施, 也不能直接或者间接地出口给核设施、导弹、生化武器或者海上核设施的最终用户. 严禁出口或者转口到美国禁运的国家/地区以及美国禁止出口清单中所包含的实体, 包括但不限于被禁止的个人以及特殊指定的国家/地区的公民. 本文档按“原样”提供, 对于所有明示或者默示的条件、陈述和担保, 包括对适销性、适合性或者非侵权性的默示保证, 均不承担任何责任, 除非此免责声明的适合范围在法律上无效.目录阅读本书之前印刷约定xixiShell提示符支持的平台xiixiiixiii访问SunStudio软件和手册页访问编译器和工具文档访问相关的Solaris文档开辟者资源xviiixixxixxvixviii联系Sun技术支持Sun欢迎您提出意见1. Fortran库例程1.11.21.31–1数据类型注意事项64位环境1–21–1Fortran数学函数1.3.11.3.21.3.3单精度函数1–31–3双精度函数1–6四倍精度函数1–91–111–11iii1.4Fortran库例程参考1.4.1abort:终止和写入核心文件1.4.21.4.31.4.41.4.51.4.61.4.71.4.81.4.91.4.101.4.111.4. 121.4.131.4.141.4.151.4.161.4.171.4.181.4.191.4.201.4.21 1.4.221.4.231.4.241.4.251.4.261.4.271.4.281.4.29access:检查文件权限或者存在性1–11alarm:在指定的时间后调用子例程1–12bit:位函数:and、or、…、bit、setbit、…chdir:更改默认目录chmod:更改文件的模式1–131–161–171–18date:获取以字符串表示的当前日期dtime, etime:经过的执行时间exit:终止进程并设置状态1–201–231–23fdate:以ASCII字符串返回日期和时间flush:刷新逻辑单元的输出1–24fork:创建当前进程的副本1–25fseek,ftell:确定文件的位置以及重新确定文件的位置1–25fseeko64, ftello64:确定大文件的位置以及重新确定大文件的位置1–271–29getarg, iargc:获取命令行参数getc, fgetc:获取下一个字符1–301–32getcwd:获取当前工作目录的路径getenv:获取环境变量的值1–33getfd:获取外部单元编号的文件描述符getfilep:获取外部单元编号的文件指针getlog:获取用户的登录名getpid:获取进程ID1–341–341–361–361–36getuid, getgid:获取进程的用户ID或者组IDhostnm:获取当前主机的名称1–37idate:返回当前日期1–381–38ieee_flags, ieee_handler,sigfpe:IEEE算术index, rindex, lnblnk:子串的索引或者长度. 1–44inmax:返回最大正整数1–45itime:当前时间1–46ivFortran库参考2005年11月1.4.301.4.311.4.321.4.331.4.341.4.35kill:将信号发给进程1–471–47link, symlnk:链接到现有的文件loc:返回对象的地址1–491–491–50long, short:整型对象转换longjmp,isetjmp:返回至isetjmp设置的位置malloc, malloc64, realloc, free:分配/重新分配/释放内存1–521.4.36mvbits:挪移位字段1–561.4.37perror, gerror, ierrno:获取系统错误消息1–571.4.38putc, fputc:将字符写入逻辑单元1–581.4.39qsort, qsort64:对一维数组的元素进行排序1–601.4.40ran:生成一个介于0和1之间的随机数1–621.4.41rand, drand, irand:返回随机值1–631.4.42rename:重命名文件1–641.4.43secnds:获取以秒数表示的系统时间并减去参数1–651.4.44set_io_err_handler, get_io_err_handler:设置并获取I/O错误处理程序1–651.4.45sh:快速执行sh命令1–681.4.46signal:更改信号的操作1–691.4.47sleep:一段时间暂停执行1–701.4.48stat, lstat, fstat:获取文件状态1–701.4.49stat64, lstat64, fstat64:获取文件状态1–731.4.50system:执行系统命令1–731.4.51time, ctime, ltime, gmtime:获取系统时间1–741.4.52ttynam, isatty:获取终端端口的名称1–781.4.53unlink:删除文件1–791.4.54wait:等待进程终止1–802.Fortran95内部函数2–12.1标准Fortran95的通用内部函数2–1v目录2.1.12.1.22.1.32.1.42.1.52.1.62.1.72.1.82.1.92.1.102.1.1 12.1.122.1.132.1.142.1.152.1.162.1.172.1.182.1.192.1.202 .1.212.1.222.1.232.2参数存在查询函数数值函数数学函数字符函数。
fortran len函数
fortran len函数Fortran是一种数值计算和科学计算的高级语言,通常用于编写物理学、数学、化学和工程学科的程序。
Fortran有很多内置函数,其中len()函数用于返回字符串长度。
下面将分步骤介绍Fortran len()函数的用法。
1.声明字符串变量在使用len()函数之前,需要先声明字符串变量。
下面的示例代码展示如何声明一个字符串变量。
```character(len=20) :: message```上面的代码声明了一个名为message的字符串变量,长度为20个字符。
2.为字符串变量赋值为了使用len()函数,字符串变量需要被赋值。
下面的示例代码展示如何为字符串变量赋值。
```message = "Hello, World!"```上面的代码将"Hello, World!"赋值给message字符串变量。
3.使用len()函数获取字符串长度在变量声明和赋值后,可以使用len()函数获取字符串变量的长度。
下面的示例代码展示了如何使用len()函数获取字符串长度。
```print *, len(message)```上面的代码将字符串变量message的长度打印到控制台上。
在这个示例中,len(message)将返回13字节。
4.使用len()函数实现字符串操作len()函数可以与其他字符串操作一起使用,例如字符串连接、截断和复制等。
下面的示例代码展示了如何使用len()函数截断字符串。
```character(len=20) :: message, truncated_messagemessage = "This is a long message."if (len(message) > 20) thentruncated_message = message(:20)print *, "Truncated message: ", truncated_messageelseprint *, "Message is not too long."end if```上面的代码将检查message字符串变量的长度,如果长度超过20,则将其截断并将截断后的字符串赋给truncated_message变量。
fortran外部函数库[大全]
FORTRAN内部函数用FORTRAN解题往往要用到一些专门运算,如求三角函数sinx, cosx,对数lnx,指数ex,求一组数中最大数和最小数等。
FORTRAN提供了一些系统函数(称为内部函数)来完成这些运算。
程序设计者不必自己设计进行这些运算的语句组(即程序段或子程序),只需写出一个函数的名字以及给出一个或若干个自变量,就可以得到所需的值,例如:SQRT(4.0)求出4.0的平方根,SIN(2.0)求出2(弧度)的正弦值,EXP(3.5)求出e3.5,LOG(3.0)求出3,常用的函数如下表,FORTRAN77提供的全部函数明细见FORTRAN77内部函数。
函数名含义应用例子相当于数学上的运算ABS 求绝对值ABS(A) |a|EXP 指数运算EXP(A) e^aSIN 正弦值SIN(X) sin xCOS 余弦值COS(X) cos xASIN 反正弦ASIN(X) sin^(-1)aACOS 反余弦ACOS(X) cos-1aTAN 正切TAN(X) tan xA TAN 反正切A TAN(A) tan^(-1)aLOG 自然对数LOG(A) lna,或loge(a)LOG10 常用对数LOG10(A) log10aINT 取整INT(A) int(a),取a的整数部分MOD 求余MOD(A1,A2) a - int(a1/a2)*a2SIGN 求符号SIGN(A1,A2) |a1|(若a2>0) -|a1|(若a2<0)REAL 转换为实型REAL(I)MAX 求最大值MAX(A1,A2,A3) max(a1,a2,a3)MIN 求最小值 MIN(A1,A2,A3) min(a1,a2,a3)说明:(1)FORTRAN77将这些系统函数分别编成一个个子程序,组成函数库,存贮于外部介质(如磁盘)上。
在完成源程序的编译之后,用LINK命令实现连接,即将已翻译成二进制指令的目标程序与函数库连接。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
附录C SCILAB 部分函数指令表(c)LIAMA. All rights reserved.(注解:本指令表只收集了部分常用指令, 有关全部指令请参照文档文件) + 加- 减* 矩阵乘数组乘 *.1. 通用指令^ 矩阵乘方数组乘方 ^.\ 反斜杠或左除help 在线帮助/ 斜杠或右除apropos 文档中关键词搜寻或.\ 数组除/.ans 缺省变量名以及最新表达式的运算结果== 等号~= 不等号clear 从内存中清除变量和函数< 小于exit 关闭SCILAB> 大于quit 退出SCILAB<= 小于或等于save 把内存变量存入磁盘>= 大于或等于exec 运行脚本文件&,and 逻辑与mode 文件运行中的显示格式|,or 逻辑或getversion 显示SCILAB 版本~,not 逻辑非ieee 浮点运算溢出显示模式选择: 冒号who 列出工作内存中的变量名( ) 园括号edit 文件编辑器[ ] 方括号type 变量类型{ } 花括号what 列出SCILAB 基本命令小数点 .format 设置数据输出格式, 逗号chdir 改变当前工作目录; 分号getenv 给出环境值// 注释号mkdir 创建目录= 赋值符号pwd 显示当前工作目录' 引号evstr 执行表达式' 复数转置号转置号 '.ans 最新表达式的运算结果2.运算符和特殊算符%eps 浮点误差容限, =2 -52≈2.22×10-16%i 虚数单位= √(-1)%inf 正无穷大%pi 圆周率,π=3.1415926535897....3. 编程语言结构abort 中止计算或循环break 终止最内循环case 同select 一起使用continue 将控制转交给外层的for或while循环else 同if一起使用elseif 同if一起使用end 结束for,while,if 语句for 按规定次数重复执行语句if 条件执行语句otherwise 可同switch 一起使用pause 暂停模式return 返回select 多个条件分支then 同if一起使用while 不确定次数重复执行语句eval 特定值计算feval 函数特定值计算或多变量计算function 函数文件头global 定义全局变量isglobal 检测变量是否为全局变量error 显示错误信息lasterror 显示最近的错误信息sprintf 按格式把数字转换为串warning 显示警告信息4.基本数学函数acos 反余弦acosh 反双曲余弦acot 反余切acoth 反双曲余切acsc 反余割acsch 反双曲余割asin 反正弦asinh 反双曲正弦atan 反正切atanh 反双曲正切cos 余弦cosh 双曲余弦cotg 余切coth 双曲余切sin 正弦sinh 双曲正弦tan 正切tanh 双曲正切exp 指数log 自然对数log10 常用对数log2 以2为底的对数sqrt 平方根abs 绝对值conj 复数共轭imag 复数虚部real 复数实部ceil 向上(正无穷大方向)取整fix 向零方向取整floor 向下(负无穷大方向)取整round 四舍五入取整sign 符号函数gsort 降次排序erf 误差函数erfc 补误差函数gamma gamma 函数interp 插值函数interpln 线性插值函数intsplin 样条插值函数smooth 样条平滑函数spline 样条函数quarewave 方波函数sign 符号函数double 将整数转换为双精度浮点数5.基本矩阵函数和操作eye 单位阵zeros 全零矩阵ones 全1 矩阵rand 均匀分布随机阵genmarkov 生成随机Markov 矩阵linspace 线性等分向量logspace 对数等分向量logm 矩阵对数运算cumprod 矩阵元素累计乘cumsum 矩阵元素累计和toeplitz Toeplitz 矩阵disp 显示矩阵和文字内容length 确定向量的长度size 确定矩阵的维数diag 创建对角阵或抽取对角向量find 找出非零元素1的下标matrix 矩阵变维rot90 矩阵逆时针旋转90度sub2ind 据全下标换算出单下标tril 抽取下三角阵triu 抽取上三角阵conj 共轭矩阵companion 伴随矩阵det 行列式的值norm 矩阵或向量范数nnz 矩阵中非零元素个数null 清空向量或矩阵中的某个元素orth 正交基rank 矩阵秩trace 矩阵迹cond 矩阵条件数rcond 逆矩阵条件数inv 矩阵的逆lu LU分解或高斯消元法pinv 伪逆qr QR分解givens Givens 变换linsolve 求解线性方程lyap Lyapunov 方程hess Hessenberg 矩阵poly 特征多项式schur Schur 分解expm 矩阵指数expm1 矩阵指数的Pade逼近expm2 用泰勒级数求矩阵指数expm3 通过特征值和特征向量求矩阵指数funm 计算一般矩阵函数logm 矩阵对数sqrtm 矩阵平方根6. 特性值与奇异值spec 矩阵特征值gspec 矩阵束特征值bdiag 块矩阵, 广义特征向量eigenmarkov 正则化Markov 特征向量pbig 特征空间投影svd 奇异值分解sva 奇异值分解近似7. 矩阵元素运算cumprod 元素累计积cumsum 元素累计和hist 统计频数直方图max 最大值mean 平均值median 中值min 最小值prod 元素积sort 由大到小排序std 标准差sum 元素和trapz 梯形数值积分corr 求相关系数或方差8. 稀疏矩阵运算sparse 稀疏矩阵(只存储非零元素)adj2sp 邻接矩阵转换为稀疏矩阵full 稀疏矩阵转换为全矩阵mtlb_sparse 将SCILAB 稀疏矩阵转换为MATLAB稀疏矩阵格式sp2adj 稀疏矩阵转换为邻接矩阵speye 稀疏矩阵方式单位阵sprand 稀疏矩阵方式随机矩阵spzeros 稀疏矩阵方式全零阵lufact 稀疏矩阵LU分解lusolve 稀疏矩阵方程求解spchol 稀疏矩阵Cholesky分解9. 输入输出函数diary 生成屏幕文本记录disp 变量显示file 文件管理input 用户键盘输入load 读已存的变量mclose 关闭文件mget 读二进制文件mgetl 按行读ASCII码文件mgetstr 读字符串中单个字mopen 打开文件mput 写二进制文件mfscanf 读ASCII 码文件print 将变量记录为文件read 读矩阵变量save 存变量为二进制文件strartup 启动文件write 按格式存文件xgetfile 对话方式获取文件路径x_dialog 建立Xwindow参数输入对话框Tk_Getvar 得到Tk文件变量Tk_EvalFile 执行Tk 文件10. 函数与函数库操作deff 在线定义函数edit 函数编辑器function 打开函数定义functions SCILAB 函数或对象genlib 在给定目录下建立所有文件的函数库get_function_path 读函数库的文件存储目录路径getd 读函数库中的全部文件getf 在文件中定义一个函数lib 函数库定义macro SCILAB函数或对象macrovar 输入变量个数newfun 输出变量个数11. 字符串操作code2str 将SCILAB数码转换为字符串convstr 字母大小转换emptystr 清空字符串grep 搜寻相同字符串part 字符提取str2code 将字符串转换为SCILAB数码string 字符串转换strings SCILAB 对象, 字符串strcat 连接字符strindex 字符串的字符位置搜寻strsubst 字符串中的字符替换12. 日期与时间date 日期getdate 读日期与时间timer CPU时间计时13. 二维图形函数plot2d 直角坐标下线性刻度曲线champ 2 维向量场champ1 由颜色箭头表示的2维向量场contour2d 等高线图errbar 曲线上增加误差范围框线条grayplot 应用颜色表示的表面xgrid 画坐标网格线histplot 统计频数直方图Matplot 散点图阵列14. 三维图形函数plot3d 三维表面plot3d1 用颜色或灰度表示的三维表面param3d 三维中单曲线param3d1 三维中多曲线contour 三维表面上的等高线图hist3d 三维表示的统计频数直方图geom3d 三维向二维上的投影15. 线条类图形xpoly 单线条或单多边形xpolys 多线条或多各多边形xrpoly 正多边形xsegs 非连接线段xfpoly 单个多边形内填充xfpolys 多个多边形内填充xrect 矩形xfrect 单个矩形内填充xrects 多个矩形内填充xarc 单个弧线段或弧园xarcs 多个弧线段或弧园xfarc 单个弧线段或弧园填充xfarcs 多个弧线段或弧园填充xarrows 多箭头16. 图形注释, 变换xstring 图形中字符xstringb 框内字符xtitle 图形标题xaxis 轴名标注plotframe 图形加框并画坐标网格线isoview 等尺寸比例显示(原图形窗口不改变)square 等尺寸比例显示(原图形窗口改变)xsetech 设置小窗口xchange 转换实数为图形象素坐标值subplot 设置多个子窗口17. 图形颜色及图形文字colormap 应用颜色图getcolor 交互式选择颜色图addcolor 增加新色于颜色图graycolormap 线性灰度图hotcolormap 热色(红到黄色)颜色图xset 图形显示方式设定xget 读当前图形显示方式设定getsymbol 交互式选择符号和尺寸18. 图形文件及图形文字xsave 将图形存储为文件xload 从磁盘中读出图形文件xbasimp 将图形按PS文件打印或存储为文件xs2fig 将图形生成Xfig 格式文件xbasc 取消图形窗及其相关内容xclear 清空图形窗driver 选择图形驱动器xinit 图形驱动器初始化xend 关闭图形xbasr 图形刷新replot 更改显示范围后的图形刷新xdel 关闭图形xname 改变当前图形窗名称19. 控制分析用图形bode 伯德图坐标gainplot 幅值图坐标(伯德图中的幅值图)nyquist 奈奎斯特图m_circle M-圆图chart 尼库拉斯图black Black-图evans 根轨迹图sgrid s 平面图plzr 零-极点图zgrid z 平面图20. 图形应用中的其它指令graphics 图形库指令表xclick 等待鼠标在图形上的点击输入locate 由鼠标点击读入图形中的多点位置坐标xgetmouse 由鼠标点击读入图形中的当前点位置坐标21. 系统与控制abcd 状态空间矩阵cont_mat 可控矩阵csim 线性系统时域响应dsimul 状态空间的离散时域响应feedback 反馈操作符flts 时域响应(离散、采样系统〕frep2tf 基于传递函数的频域响应freq 频域响应g_margin 幅值裕量imrep2ss 基于状态空间的脉冲响应lin 线性化操作lqe Kalman 滤波器lqg LQG补偿器lqr LQ补偿器ltitr 基于状态空间的离散时域响应obscont 基于观测器的控制器observer 观测器obsv_mat 观测矩阵p_margin 相位裕量phasemag 相位与幅值计算ppol 极点配置repfreq 频域响应ricc Riccati 方程rtitr 基于传递函数的离散时域响应sm2ss 系统矩阵到状态空间变换ss2ss 反馈连接的状态空间到状态空间变换ss2tf 状态空间到传递函数变换stabil 稳定性计算tf2ss 传递函数到状态空间变换time_id SISO系统最小方差辨识22. 鲁棒控制augment 被控对象增广操作bstap Hankel 矩阵近似ccontrg H∞控制器dhnorm 离散H∞范数h2norm H2 范数h_cl 闭环矩阵h_inf H∞控制器h_norm H∞范数hankelsv Hankel 矩阵奇异值leqr H∞控制器的LQ增益linf 无穷范数riccati Riccati 矩阵sensi 敏感函数23. 动态系统arma ARMA 模型arma2p 基于AR模型中获得多项式矩阵armac ARMAX 辨识arsimul ARMAX系统仿真noisegen 噪声信号发生器odedi 常微分方程仿真检测prbs_a 伪随机二进制序列发生器reglin 线性拟合24. 系统与控制实例artest Arnold 动态系统bifish 鱼群人口发展的离散时域模型boucle 具有观测器的动态系统相位图chaintest 生物链模型gpech 渔业模型fusee 登陆火箭问题lotest Lorennz 吸引子mine 采矿问题obscontl 可控可观系统portr3d 三维相位图portrait 二维相位图recur 双线性回归方程systems 动态系统tangent 动态系统的线性化tadinit 动态系统的交互初始化25. 非线性工具(优化与仿真〕bvode 边界值问题的常微分方程dasrt 隐式微分方程过零解dassl 代数微分方程datafit 基于测量数据的参数辨识derivative 导数计算fsolve 非线性函数过零解impl 线性微分方程int2d 二维定积分int3d 三维定积分intg 不定积分leastsq 非线性最小二乘法linpro 线性规划lmisolver 线性不等矩阵ode 常微分方程ode_discrete 离散常微分方程ode_root 常微分方程根解odedc 连续/离散常微分方程optim 非线性优化quapro 线性二次型规划semidef 半正定规划26. 多项式计算coeff 多项式系数coffg 多项式矩阵逆degree 多项式阶数denom 分母项derivat 有理矩阵求导determ 矩阵行列式值factors 因式分解hermit Hermit 型horner 多项式计算invr 有理矩阵逆lcm 最小公倍数ldiv 多项式矩阵长除numer 分子项pdiv 多项式矩阵除pol2des 多项式矩阵到表达式变换pol2str 多项式到字符串变换polfact 最小因式residu 余量roots 多项式根simp 多项式化简systmat 系统矩阵27. 信号处理%asn 椭圆积分%k Jacobi 完全椭圆积分%sn Jacobi 椭圆函数analpf 模拟量低通滤波器buttmag Butterworth 滤波器响应cepstrum 倒谱计算cheb1mag Chebyshev 一型响应cheb2mag Chebyshev 二型响应chepol Chebyshev 多项式convol 卷积corr 相关, 协方差cspect 谱估计(应用相关法)dft 离散富立叶变换fft 快速富立叶变换filter 滤波器建模fsfirlin FIR滤波器设计hank 协方差矩阵到Hankel矩阵变换hilb Hilbert 变换iir IIR数字滤波器intdec 信号采样率更改kalm Kalman 滤波器更新mese 最大熵谱估计mfft 多维快速富立叶变换mrfit 频率响应拟合phc Markov 过程srkf Kalman 滤波器平方根sskf 稳态Kalman 滤波器system 观测更新wfir 线性相位FIR滤波器weiener Weiener(维纳)滤波器window 对称窗函数yulewalk 最小二乘滤波器zpbutt Buthererworth 模拟滤波器zpch1 Chebyshev 模拟滤波器28. 音频信号analyze 音频信号频域图auread 读*.au 音频文件auwrite 写*.au 音频文件lin2mu 将线性信号转换为μ率码信号loadwave 取*.wav 音频文件mapsound 音频信号图示mu2lin 将μ率码信号转换为线性信号playsnd 音频信号播放savewave 存*.wav 音频文件wavread 读*.wav 音频文件wavwrite 写*.wav 音频文件29. 语言与数据转换工具ascii 字符串的ASCII码excel2sci 读ASCII 格式的Excel 文件fun2string 将SCILAB 函数生成ASCII 码mfile2sci 将MATLAB 的M 格式文件转换为SCI格式文件mtlb_load 取MATLAB第4版本文件中变量matlb_save 按MATLAB 第4 版本文件格式存变量pol2tex 将多项式转换为TeX格式sci2for 将SCILAB 函数转换为FORTRAN格式文件texprint 按TeX 格式输出SCILAB 对象translatepaths 将子目录下的所有MATLAB文件转换为SCI文件格式。