第 25卷第 1期 2006年第 1期 红水河 HongShui River V01.25.No.1 No.1.20o6 MATLAB在水文水能计算中的应用 黄飞仁 ,黄汉球2,曾英先 (1.广西水电工程局,广西 南宁 530001;2.广西电力工业勘察设计研究院,广西 南宁 530023) 摘 要:MATLAB是世界上应用最广泛的工程数值计算软件,可广泛运用于数理统计、数据分析及可视化、动态系 统仿真等领域。通过在水文和水能计算 中应用 MATLAB,说明了利用 MATLAB进行水文水能计算具有简洁、高 效、计算精度离的特点,-.q-~使设计人 员从繁重的编程计算、手工计算和绘图中解脱出来,提高计算精度和工作效 率,达到事半功倍的效果。 关键词:MATLAB;水文计算;水能计算 中图分类号:P333 文献标识码:B 文章编号 :1001—408X(2006)01—0104—04 1 引言 MATLc 是 Math Works公 司推 出 的一 套功 能强大的数值计算软件。它的基本数据单元是矩 阵。MA TLAB的表达式与数学、工程计算中常用形 式十分相似,既可简单地将其作为一个大型计算器 使用,又可编程求解十分复杂的问题。它的编程效 率、可读性、可移植性远远高于其他高级语言。开放 式结构的 MATLAB有丰富的库函数,如矩阵函数、 特殊函数,在进行复杂的数学运算时可以直接调用。 它的库函数同用户文件在形式上是一样,都为 M文 件,这样用户文件可以作为 MATLAB的库函数来 调用,因而用户可以根据自己的需要方便地建立和 扩充新的库函数。另外,为了充分利用 FORTRAN、 C语言的现有资源,通过建立 MEX文件的形式混 合编程,就可以方便地调用有关的FORTRAN、C语 言的子程序。另外,MATLAB有一系列的绘图函 数,如:线性坐标、对数坐标、半对数坐标及极坐标。 用户可以很容易地绘制二维、三维曲线、曲面图以及 消隐图,还可以进行图形叠绘、图形标识和网格化,并 可将屏幕划分成若干子块,分别显示不同输出变量的 变化过程,用户只需调用不同的绘图函数,即可绘制 出理想的精美图形,具有很强的图形可视化功能。 2 r分布函数的计算及应用 2。1 r分布函数的计算 在工程水文分析与计算、水文学的汇流计算等 应用领域,经常会遇到 I1函数、r分布函数及其逆函 数的数值计算问题。传统的计算方法是用各种逼近 的近似公式来代替这些函数,然后编程序进行计算 求解。电算的实践表明:一些特殊问题的计算中,需 要程序参与计算的各个变量(含常数)都按双精度 (16位有效数字)或高精度(任意指定精度)运行,而 计算 r(a)和 lnP(a)的各种逼近算法公式最多只 能求得 lO至 12位有效数字,这样即使应用双精度 计算替代的近似公式,最多也只能达到与 I1(a)或 InF(a)同样的精度,并且有时产生计算过程的误差 传播和积累,从而导致死循环、迭代过程不收敛、计 算结果失真等不良的现象。 下面介绍 利用 MAT 的特殊 函数进行 I1(a)、lnP(a)及其逆函数的数值计算。 y=gamma(A)是计算已知 a值的I1(a); y=gammaln(A)是计算已知 a值的lnF(a); y=gammainc(X,A)是计算 已知 z和 a值的 P(a,z); X=gaminv(P,A,B)是在已知 P、口和 卢的情况 下求z。 计算结果的比较见表 l。 由表 1可知,利用 MAT 的特殊函数计算 I1(a)和 lnF(a),其结果具有 15位有效数字。而 各种逼近算法公式的
matlab 水文,MATLAB在水文水能计算中的应用
最新推荐文章于 2024-04-27 12:15:23 发布