各种数值积分方法的MATLAB程序和分析--以一个实际问题为例.pdf

各种数值积分方法的MATLAB程序和分析--以一个实际问题为例.pdf

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
各种数值积分方法的MATLAB程序和分析--以一个实际问题为例

各种数值积分方法的MATLAB 程序和分析 -- 以一个实际问题为例 问题回顾 从某条河的横截面上获得与河岸不同距离(y, m)处的深度数据(H, m)如下,确定这条河的平 均深度和横截面积。 y 0 1 3 5 7 8 9 10 H 0 1 1.5 3 3.5 3.2 2 0 问题分析 由于所得数据为离散点,并且数据点的间隔不均匀,因此先对离散数据进行连续化处理, 再对所得函数进行数值积分。离散数据点的分布图如下: 河道深度与和河岸距离的关系(离散数据) 3.5 3 2.5 m 度 2 深 道 1.5 河 1 0.5 0 0 1 2 3 4 5 6 7 8 9 10 河岸距离 m 一般来说,不考虑泥沙沉降因素的河底,用变分法来求取切力最小的河床面,可以知道 椭圆是最理想的截面形状,然而根据上图可知,河床底部明显存在泥沙沉降。并且该河段可 能处于流向曲率较大的河段,导致内河床(x 5)泥沙沉降较多,河床较浅;而外河床(x 5) 部分由于水流速度大于泥沙启动速度,河床底部泥沙被水流携带,因而较深。根据泥沙启动 概率与流速的关系可将泥沙沉降量与河岸距离近似处理为三次关系,如下图: 泥沙沉降量与离河岸距离的关系 0.5 ) 量 0 带 携 为 -0.5 值 负 ( -1 量 降 沉 -1.5 沙 泥 -2 0 1 2 3 4 5 6 7 8 9 10 离河岸距离 1 由于泥沙启动速度为止,那么将泥沙沉降和携带量达到平衡的地方作为拟合参数处理。在理 想河床截面形状的基础上以上述三次关系修正形状,则回归的函数模型如下: = √1 − ( − 5)2 − ( − ) ( − 10) 1 2 3 4 上式中前一项为理想河床截面的椭圆方程,后一项为泥沙沉降量的修正项,先利用非线性回 归对上述数据进行拟合。非线性回归采用Levenberg –Marquardt 算法,其函数fitnonpoly.m 源代码如下: %本函数使用Levenberg–Marquardt 算法计算待求数据点在要求函数类下的最佳拟合函数 %输入: % x 为待拟合数据点的横坐标,y 为待拟合数据点的纵坐标 % fun 为自变量和待求参数的函数句柄,格式为fun(x,a) ,其中a 为参数向量 % n 为待求参数向量个数,即a 长度 % tol 为结果要求精度 %输出: % funchd 为所得的非线性拟合函数,可直接使用 function funchd=fitnonpoly(x,y,fun,n,tol) m=length(x); %输入检查 if m~=length(y) error(The length of x must equal that of y !) elseif m=n+1 error(The length of x must be l

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档