目录
摘 要 1
与封堵溃口有关的重物落水后运动过程的数学建模 3
一、问题重述 3
二、问题分析 5
三、基本假设 5
(2)、重物在同一稳定介质中阻力影响系数保持不变; 5
(5)、只考虑迎水面积上的摩阻力作用,忽略侧面粘滞阻力。 5
四、符号约定 4
五、主要创新点 5
对问题(1) 5
六、模型的建立与求解 2
§6.1 问题 1 2
6.1.1 控制变量法分析:影响重物在水中运动过程的因素 2
因素(1):水流速度的影响 2
6.1.2 影响因素小结 5
6.1.3 大实心方砖落水后运动过程的数学模型 5
根据大实心方砖在水中的受力情况建立其模型 6
2)运动微分方程建立 6
2)在 y 轴方向分阶段考虑: 8
阶段<1>:重物接触水面至刚好完全浸入水中 8
2 10
10
6.1.4 大实心方砖主模型小结 11
6.1.5 建立大实心方砖模型 2(作为辅模型) 12
在 x 轴方向不分阶段: 12
1 C1 12
2 消去参数 t 后得到 y 与 x 的关系为: 13
x C r2 13
6.1.6 问题 1 小结 15
§6.2 问题 2 15
6.2.1 瑞利法量纲分析:单个物体运动过程 15
2 D 15
2 CD K 16
1 C K 16
1 C K nd 16
2 CD K 17
6.2.2 两物体耦合作用运动过程分析 18
13 大空(实)心蜂巢在0.4m/s水流中轨迹 19
现象分析: 20
6.3.1 对已建模型进行误差分析 20
(1)考虑重物侧摩阻力作用; 23
(3)试验水槽中水的流速不是均匀的; 23
6.3.2 对已建模型应用猜想及新型实验设计的一些建议 23
(4)投放做平抛运动入水时的入射角。 23
§6.4 问题 4 24
6.4.1 相似性 24
(1)几何相似 24
(2)运动形似 25
(3)动力相似 25
(4)初始条件和边界条件的相似 25
6.4.2 相似准则 25
(1)弗劳德准则(重力准则) 25
(2)雷诺准则 26
(3)欧拉准则 26
6.4.3 小模型试验相似准则的分析 26
l t’ 2 2 C 26
6.4.4 关于小型模型试验的思考 27
§6.5 模型在实际工程中的应用 28
2 C t c C 28
七、总结与展望 31
§7.1、模型优缺点总结 31
(1)将普适性模型中的众多因素的融合,缩减模型参数。 31
参考文献 32
与封堵溃口有关的重物落水后运动过程的数学建模
一、问题重述
由于重物落水本身是一个复杂的数学物理问题,它涉及到空气,水,重物等多种不同介质的耦合作用,且水流运动非常复杂,至今仍有一些水流现象无法从小型试验得到,即小型试验的结论不能任意推广到实际真实情况。因此,本问题具有很强的研究背景和实际应用价值。
根据上述分析,本文拟解决如下问题:
(1)、根据已有的资料数据,利用所学知识及相关参考资料,分析影响重物在水中运动过程的因素;
(2)、建立具体单个重物在水中运动过程的数学模型:大实心方砖模型。并根据小型试验数据及相关数学、物理方法,验证模型准确度和适用性;
(3)、建立包含各种影响因素,从而能够适应不同情况的重物水中运动过程的单个物体水中运动过程数学模型;
(4)、通过机理分析,定性分析了两个重物连接后的组件在水中的运动过程,从固-固耦合,流-固耦合入手深入到流-固-固耦合关系;
(5)、对建立的模型进行误差分析,通过模型参数调节优化模型效果,并根据修改模型预测最有效触底位置。根据误差原因分析等对未来需要进行的试验和研究工作提出了一些建议;
(6)、根据相似准则设计相关实验,对已建立模型进行推广和扩充。以达到理论-实验-工程三者的互相验证。文章来源:https://www.toymoban.com/news/detail-836296.html
function [p,S] = polyfit(x,y,n) %工况1多项式拟合
x=[2.2 3 3.5 4 5 6.2 8 9.5 10.5 12.5];
y=[26 23.5 22 19.5 17 15 12.5 9.5 6 3];
p=polyfit(x,y,2)
xi=-0.2:0.01:0.3;
yi=polyval(p,xi);
plot(x,y,'o',xi,yi,'k');
title('polyfit');
if ~isequal(size(x),size(y))
error('X and Y vectors must be the same size.')
end
x = x(:);
y = y(:);
m=length(x);n=length(y);
if m~=n, error('向量x与y的长度必须一致');end
s=0;
for i=1:n
t=ones(1,length(xx));
for j=1:n
if j~=i,
t=t.*(xx-x(j))/(x(i)-x(j));
end
end
s=s+t*y(i);
end
yy=s;
V(:,n+1) = ones(length(x),1);
for j = n:-1:1
V(:,j) = x.*V(:,j+1);
end
[Q,R] = qr(V,0);
p = R\(Q'*y);
r = y - V*p;
p = p.';
S.R = R;
S.df = length(y) - (n+1);
S.normr = norm(r);
function [x, options] = fmins(funfcn,x,options,grad,varargin)
if nargin<3, options = []; end
options = foptions(options);
prnt = options(1);
tolx = options(2);
tolf = options(3);
funfcn = fcnchk(funfcn,length(varargin));
n = prod(size(x));
if (~options(14))
options(14) = 200*n;
end
rho = 1; chi = 2; psi = 0.5; sigma = 0.5;
onesn = ones(1,n);
two2np1 = 2:n+1;
one2n = 1:n;
xin = x(:);
v = zeros(n,n+1); fv = zeros(1,n+1);
v = xin;
x(:) = xin;
fv = feval(funfcn,x,varargin{:});
usual_delta = 0.05;
zero_term_delta = 0.00025;
for j = 1:n
y = xin;
if y(j) ~= 0
y(j) = (1 + usual_delta)*y(j);
else
y(j) = zero_term_delta;
end
v(:,j+1) = y;
x(:) = y; f = feval(funfcn,x,varargin{:});
fv(1,j+1) = f;
end
[fv,j] = sort(fv);
v = v(:,j);
func_evals = n+1;
if prnt > 0
clc
formatsave = get(0,{'format','formatspacing'});
format compact
format short e
disp(' ')
disp('initial')
v
fv
func_evals
end
while func_evals < options(14)
if max(max(abs(v(:,two2np1)-v(:,onesn)))) <= tolx &...
max(abs(fv(1)-fv(two2np1))) <= tolf
break
end
how = '';
xbar = sum(v(:,one2n), 2)/n;
xr = (1 + rho)*xbar - rho*v(:,end);
x(:) = xr; fxr = feval(funfcn,x,varargin{:});
func_evals = func_evals+1;
if fxr < fv(:,1
xe = (1 + rho*chi)*xbar - rho*chi*v(:,end);
x(:) = xe; fxe = feval(funfcn,x,varargin{:});
func_evals = func_evals+1;
if fxe < fxr
v(:,end) = xe;
fv(:,end) = fxe;
how = 'expand';
else
v(:,end) = xr;
fv(:,end) = fxr;
how = 'reflect';
end
else
if fxr < fv(:,n)
v(:,end) = xr;
fv(:,end) = fxr;
how = 'reflect';
else
if fxr < fv(:,end)
xc = (1 + psi*rho)*xbar - psi*rho*v(:,end);
x(:) = xc; fxc = feval(funfcn,x,varargin{:});
func_evals = func_evals+1;
if fxc <= fxr
v(:,end) = xc;
fv(:,end) = fxc;
how = 'contract outside';
else
how = 'shrink';
end
else
xcc = (1-psi)*xbar + psi*v(:,end);
x(:) = xcc; fxcc = feval(funfcn,x,varargin{:});
func_evals = func_evals+1;
if fxcc < fv(:,end)
v(:,end) = xcc;
fv(:,end) = fxcc;
how = 'contract inside';
else
how = 'shrink';
end
end
if strcmp(how,'shrink')
for j=two2np1
v(:,j)=v(:,1)+sigma*(v(:,j) - v(:,1));
x(:) = v(:,j); fxcc = feval(funfcn,x,varargin{:});
end
func_evals = func_evals + n;
end
end
end
[fv,j] = sort(fv);
v = v(:,j);
if prnt > 0
disp(' ')
disp(how)
v
fv
func_evals
end
end
x(:) = v(:,1);
if prnt > 0,
set(0,{'format','formatspacing'},formatsave);
end
options(10)=func_evals;
options(8)=min(fv);
if func_evals >= options(14)
if options(1) >= 0
disp(' ')
disp(['Maximum number of function evaluations (', ...
int2str(options(14)),') has been exceeded']);
disp( ' (increase OPTIONS(14)).')
end
end
文章来源地址https://www.toymoban.com/news/detail-836296.html
到了这里,关于MATLAB实现与封堵溃口有关的重物落水后运动过程的数学建模的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!