cos tan
tan 2
发现 与吃水深度的函数关系式,发现吃水深度对于锚链长度
l
先增后减。tan cos tan
cos cos
sin tan sin
发现吃水深度与末尾钢管角
sin
成单调递增,并有从钢管到锚链角的递推公式可tan cos tan
cos cos
sin tan sin
cos tan sin
cos
%m2 = 1630.88511022481;
G2 = m2 * g; % 重物球的重量
d4 = 0.05; % 钢管的直径 l4 = 1; % 每节钢管长度
V4 = l4 * pi * d4 ^ 2 / 4; % 每根钢管的排水体积 Fd4 = ru * g * V4; % 每根钢管所受到的浮力
% 5.浮标
m5 = 1000; % 浮标的质量 G5 = m5 * g; % 浮标的重量 d5 = 2; % 浮标底面直径 h5 = 2; % 浮标高度
V5 = h * pi * d5 ^ 2 / 4; % 浮标的排水体积 Fd5 = ru * g * V5; % 浮标所受的浮力
Vwi = 12; % 风速
Swi = (h5 - h) * d5; % 风作用面积 Fwi = 0.625 * Swi * Vwi ^ 2; % 风荷载
% 求解锚对第一个链环的拉力
Fd = Fd3 + Fd4 + Fd5; % 总浮力
G = n1 * G1 + G2 + G3 + n4 * G4 + G5; % 总重量 Fx = Fwi; % 锚对第一个链环的水平拉力
Fz = Fd - G; % 锚对第一个链环的竖直拉力 if Fz < 0 && -Fz <= n1 * G1
nz = ceil(-Fz / G1); % 河床底部的链环数
elseif -Fz > n1 * G1 && -Fz <= n1 * G1 + G2 + G3 nz = n1 + 1;
elseif Fz == 0 nz = 1;
elsenz = 0;
endif nz ~= 0
Fz = nz * G1 + Fz;
fa = zeros(1, nz + 1);
tan_fa = fa;
tan_ct = zeros(1, nz);
elsetan_fa = Fz / Fx; fa = atan(tan_fa); % 第一个链环与竖直方向的夹角 endF = sqrt(Fx ^ 2 + Fz ^ 2); % 锚对第一个链环的拉力
k1 = G1 / (2 * F * cos(fa(1)));
% 求解第 i(i<n1)个链环 if nz < n1
for i = nz + 1 : n1 - 1
tan_fa(i + 1) = tan_fa(i) + 2 * k1;
tan_ct(i) = tan_fa(i) - k1;
endend
% 求解最后一个链环 if nz <= n1
i = n1;
tan_fa(i + 1) = tan_fa(i) + (G1 + G2) / (F(1) * cos(fa(1)));
tan_ct(i) = tan_fa(i) - k1;
end% 求解钢桶
if nz <= n1 + 1 i = n1 + 1;
tan_fa(i + 1) = tan_fa(i) + (G2 + G3 - Fd3) / (F(1) * cos(fa(1)));
tan_ct(i) = tan_fa(i) + (G2 + G3 / 2 - Fd3 / 2) / (F(1) * cos(fa(1)));
end
% 求解钢管
for i = n1 + 2 : n1 + 1 + n4
tan_fa(i + 1) = tan_fa(i) + (G4 - Fd4) / (F(1) * cos(fa(1)));
tan_ct(i) = tan_fa(i) - (G4 - Fd4) / (2 * F(1) * cos(fa(1)));
endfa = atan(tan_fa);
F = (F(1) * cos(fa(1)) * ones(1, i + 1)) ./ cos(fa);
ct = atan(tan_ct);
% 画图x = 0; y = 0;
for i = 1 : n1
x(i + 1) = sum(ln1 * cos(ct(1 : i)));
y(i + 1) = sum(ln1 * sin(ct(1 : i)));
endx(n1 + 2) = sum(ln1 * cos(ct(1 : n1))) + l3 * cos(ct(n1 + 1));
y(n1 + 2) = sum(ln1 * sin(ct(1 : n1))) + l3 * sin(ct(n1 + 1));
for i = n1 + 2 : n1 + n4 + 1
x(i + 1) = sum(ln1 * cos(ct(1 : n1))) + l3 * cos(ct(n1 + 1)) + sum(l4 * cos (ct(n1 + 2 : i)));
y(i + 1) = sum(ln1 * sin(ct(1 : n1))) + l3 * sin(ct(n1 + 1)) + sum(l4 * sin (ct(n1 + 2 : i)));
endplot(x(1:n1+1), y(1:n1+1),'b') hold on
plot(x(n1+1:n1+2), y(n1+1:n1+2),'r')
plot(x(n1+2:n1+n4+1), y(n1+2:n1+n4+1),'g') H1 = sum(ln1 * sin(ct(1 : n1)));
H2 = l3 * sin(ct(n1 + 1));
H3 = sum(l4 * sin(ct(n1 + 2 : n1 + 1 + n4)));
h = solve(H == H1 + H2 + H3 + h, h);
H = H1 + H2 + H3 + h
R = sum(ln1 * cos(ct(1 : n1))) + l3 * cos(ct(n1 + 1)) + sum(l4 * cos(ct(n1 + 2 : end)))
fx = F(end) * cos(ct(end));
fy = F(end) * sin(ct(end));
syms hh
hh = solve(fx == 0.625 * (h5 - hh) * d5 * Vwi ^ 2, hh) er = (hh - h) / h
附录3:第二问求解程序
% 参数初值
g = 9.8; % 重力加速度 syms h % 吃水深度
% 海水H = 18; % 水深
ru = 1025; % 海水密度
% 0.锚
m0 = 600; % 锚的质量 G0 = m0 * g; % 锚的重量
% 1.锚链、链环
m1 = 7; % 锚链单位长度质量 l1 = 22.05; % 锚链的长度 ln1 = 0.105; % 链环长度
G1 = m1 * ln1 * g; % 链环的重量 n1 = round(l1 / ln1); % 链环的数量
% 2.重物球
m2 = 1200; % 重物球的质量 G2 = m2 * g; % 重物球的重量
% 3.设备、钢桶
m3 = 100; % 设备和钢桶总质量 G3 = m3 * g; % 设备和钢桶总重量 d3 = 0.3; % 钢桶的外径
l3 = 1; % 钢桶的长度
V3 = l3 * pi * d3 ^ 2 / 4; % 钢桶排水体积 Fd3 = ru * g * V3; % 设备和钢桶所受到的浮力
% 4.钢管
m4 = 10; % 每节钢管的质量 G4 = m4 * g; % 每节钢管的重量 n4 = 4; % 钢管的节数
d4 = 0.05; % 钢管的直径 l4 = 1; % 每节钢管长度
V4 = l4 * pi * d4 ^ 2 / 4; % 每根钢管的排水体积 Fd4 = ru * g * V4; % 每根钢管所受到的浮力
% 5.浮标
m5 = 1000; % 浮标的质量 G5 = m5 * g; % 浮标的重量 d5 = 2; % 浮标底面直径 h5 = 2; % 浮标高度
V5 = h * pi * d5 ^ 2 / 4; % 浮标的排水体积 Fd5 = ru * g * V5; % 浮标所受的浮力
Vwi = 36; % 风速
Swi = (h5 - h) * d5; % 风作用面积 Fwi = 0.625 * Swi * Vwi ^ 2; % 风荷载
% 求解锚对第一个链环的拉力
Fd = Fd3 + Fd4 + Fd5; % 总浮力
G = n1 * G1 + G3 + n4 * G4 + G5; % 部分总重量 Fx = Fwi; % 锚对第一个链环的水平拉力
ct = 16 * pi / 180;
tan_ct = tan(ct);
tan_fa = tan_ct + G1 / (2 * Fx);
fa = atan(tan_fa);
G2 = Fwi * tan_ct + Fd - G;
Fz = tan_fa * Fx;
F = Fx / cos(fa(1));
k1 = G1 / (2 * F * cos(fa(1)));
% 求解第 i(i<n1)个链环 for i = 1 : n1 - 1
tan_fa(i + 1) = tan_fa(i) + 2 * k1;
tan_ct(i) = tan_fa(i) - k1;
end% 求解最后一个链环 i = n1;
tan_fa(i + 1) = tan_fa(i) + (G1 + G2) / (F(1) * cos(fa(1)));
tan_ct(i) = tan_fa(i) - k1;
% 求解钢桶 i = n1 + 1;
tan_fa(i + 1) = tan_fa(i) + (G2 + G3 - Fd3) / (F(1) * cos(fa(1)));
tan_ct(i) = tan_fa(i) + (G2 + G3 / 2 - Fd3 / 2) / (F(1) * cos(fa(1)));
% 求解钢管
for i = n1 + 2 : n1 + 1 + n4
tan_fa(i + 1) = tan_fa(i) + (G4 - Fd4) / (F(1) * cos(fa(1)));
tan_ct(i) = tan_fa(i) - (G4 - Fd4) / (2 * F(1) * cos(fa(1)));
endfa = atan(tan_fa);
F = (F(1) * cos(fa(1)) * ones(1, i + 1)) ./ cos(fa);
ct = atan(tan_ct);
% 画图x = 0; y = 0;
for i = 1 : n1
x(i + 1) = sum(ln1 * cos(ct(1 : i)));
y(i + 1) = sum(ln1 * sin(ct(1 : i)));
endx(n1 + 2) = sum(ln1 * cos(ct(1 : n1))) + l3 * cos(ct(n1 + 1));
y(n1 + 2) = sum(ln1 * sin(ct(1 : n1))) + l3 * sin(ct(n1 + 1));
for i = n1 + 2 : n1 + n4 + 1
x(i + 1) = sum(ln1 * cos(ct(1 : n1))) + l3 * cos(ct(n1 + 1)) + sum(l4 * cos (ct(n1 + 2 : i)));
y(i + 1) = sum(ln1 * sin(ct(1 : n1))) + l3 * sin(ct(n1 + 1)) + sum(l4 * sin (ct(n1 + 2 : i)));
endplot(x(1:n1+1), y(1:n1+1),'b') hold on
plot(x(n1+1:n1+2), y(n1+1:n1+2),'r')
plot(x(n1+2:n1+n4+1), y(n1+2:n1+n4+1),'g') H1 = sum(ln1 * sin(ct(1 : n1)));
H2 = l3 * sin(ct(n1 + 1));
H3 = sum(l4 * sin(ct(n1 + 2 : n1 + 1 + n4)));
h = solve(H == H1 + H2 + H3 + h, h);
H = H1 + H2 + H3 + h;
R = sum(ln1 * cos(ct(1 : n1))) + l3 * cos(ct(n1 + 1)) + sum(l4 * cos(ct(n1 + 2 : end)));
fx = F(end) * cos(ct(end));
fy = F(end) * sin(ct(end));
syms hh
hh = solve(fx == 0.625 * (h5 - hh) * d5 * Vwi ^ 2, hh);
er = (hh - h) / h;
附录4:第三问求解程序
clear
t1 = 0; t2 = 2;
while 1 t = 0;
for h = t1: (t2 - t1) / 99 : t2 t = t + 1;
% 参数初值
g = 9.8; % 重力加速度
%syms h % 吃水深度
% 海水H = 16; % 水深**********************************
ru = 1025; % 海水密度
% 0.锚
m0 = 600; % 锚的质量 G0 = m0 * g; % 锚的重量
% 1.锚链、链环
xh = 4; % 锚链型号**********************************
m1 = [3.2 7 12.5 19.5 28.12]; % 锚链单位长度质量 m1 = m1(xh);
l1 = 28; % 锚链的长度 **************** 20 ** 22 ** 24 ** 26 ** 28 **
ln1 = [0.078 0.105 0.12 0.15 0.18]; % 链环长度 ln1 = ln1(xh);
G1 = m1 * ln1 * g; % 链环的重量 n1 = round(l1 / ln1); % 链环的数量
% 2.重物球
m2 = 2200; % 重物球的质量 ******* 1000 ** 1300 ** 1600 ** 1900 ** 2200 **
G2 = m2 * g; % 重物球的重量
% 3.设备、钢桶
m3 = 100; % 设备和钢桶总质量 G3 = m3 * g; % 设备和钢桶总重量 d3 = 0.3; % 钢桶的外径
l3 = 1; % 钢桶的长度
V3 = l3 * pi * d3 ^ 2 / 4; % 钢桶排水体积 Fd3 = ru * g * V3; % 设备和钢桶所受到的浮力
% 4.钢管
m4 = 10; % 每节钢管的质量 G4 = m4 * g; % 每节钢管的重量 n4 = 4; % 钢管的节数
d4 = 0.05; % 钢管的直径 l4 = 1; % 每节钢管长度
V4 = l4 * pi * d4 ^ 2 / 4; % 每根钢管的排水体积 Fd4 = ru * g * V4; % 每根钢管所受到的浮力
% 5.浮标
m5 = 1000; % 浮标的质量 G5 = m5 * g; % 浮标的重量 d5 = 2; % 浮标底面直径 h5 = 2; % 浮标高度
V5 = h * pi * d5 ^ 2 / 4; % 浮标的排水体积 Fd5 = ru * g * V5; % 浮标所受的浮力
Vwi = 36; % 风速 Vwa = 1.5; % 水速
Swi = (h5 - h) * d5; % 风作用面积 Swa1 = h * d5; % 水作用面积
Fwi = 0.625 * Swi * Vwi ^ 2; % 风荷载 Fwa1 = 374 * Swa1 * Vwa ^ 2; % 水流力
% 求解锚对第一个链环的拉力
Fd = Fd3 + Fd4 + Fd5; % 总浮力
G = n1 * G1 + G2 + G3 + n4 * G4 + G5; % 总重量 Fx = Fwi + Fwa1; % 锚对第一个链环的水平拉力 Fz = Fd - G; % 锚对第一个链环的竖直拉力 if Fz < 0 && -Fz <= n1 * G1
nz = ceil(-Fz / G1); % 河床底部的链环数
elseif -Fz > n1 * G1 && -Fz <= n1 * G1 + G2 + G3 nz = n1 + 1;
elseif Fz == 0 nz = 1;
elsenz = 0;
endif nz ~= 0
Fz = nz * G1 + Fz;
fa = zeros(1, nz + 1);
tan_fa = fa;
tan_ct = zeros(1, nz);
elsetan_fa = Fz / Fx; fa = atan(tan_fa); % 第一个链环与竖直方向的夹角 endF(1) = sqrt(Fx ^ 2 + Fz ^ 2); % 锚对第一个链环的拉力
k1 = G1 / (2 * F(1) * cos(fa(1)));
% 求解第 i(i<n1)个链环 if nz < n1
for i = nz + 1 : n1 - 1
tan_fa(i + 1) = tan_fa(i) + 2 * k1;
tan_ct(i) = tan_fa(i) - k1;
endend
% 求解最后一个链环 if nz <= n1
i = n1;
tan_fa(i + 1) = tan_fa(i) + (G1 + G2) / (F(1) * cos(fa(1)));
tan_ct(i) = tan_fa(i) - k1;
fa = atan(tan_fa);
F = (F(1) * cos(fa(1)) * ones(1, i + 1)) ./ cos(fa(1 : i + 1));
end% 求解钢管
for i = n1 + 1 + n4 : -1 : n1 + 1
tan_fa(i) = (Fd5 - G5 + (i - n1 - n4 - 1) * G4) / Fx;
fa(i) = atan(tan_fa(i));
F(i) = (Fwi - Fwa1) / cos(fa(i));
tan_ct(i) = tan_fa(i) - (G4 - Fd4) / (2 * F(1) * cos(fa(1)));
end% 求解钢桶
if nz <= n1 + 1 i = n1 + 1;
tan_ct(i) = (G2 + F(i) * sin(fa(i)) + F(i + 1) * sin(fa(i + 1))) / (F(i) * cos(fa(i)) + F(i + 1) * cos(fa(i + 1)));
F(i + 1) = (F(i) * sin(fa(i)) + G2 + G3) / sin(fa(i + 1));
endct = atan(tan_ct);
Swa2 = pi * d3 ^ 2 / 4 * cos(ct(n1 + 1)) + d3 * l3 * sin(ct(n1 + 1));
Fwa2 = 374 * Swa2 * Vwa ^ 2;
H1 = sum(ln1 * sin(ct(1 : n1)));
H2 = l3 * sin(ct(n1 + 1));
H3 = sum(l4 * sin(ct(n1 + 2 : n1 + 1 + n4)));
h = solve(H == H1 + H2 + H3 + h, h);
HH = H1 + H2 + H3 + h;
R = sum(ln1 * cos(ct(1 : n1))) + l3 * cos(ct(n1 + 1)) + sum(l4 * cos(ct(n1 + 2 : end)));
A(1, t) = h; A(2, t) = HH;
clear ct fa F tan_ct tan_fa endfor i = 1 : size(A, 2) - 1
if A(2, i) <= H && A(2, i + 1) >= H t1 = A(1, i); t2 = A(1, i + 1);
endend
[e, xb] = min(abs(A(2, : ) - H * ones(1, size(A, 2))));
if e < 0.01
h = A(1, xb); break;
endclear A
endV5 = h * pi * d5 ^ 2 / 4; % 浮标的排水体积 Fd5 = ru * g * V5; % 浮标所受的浮力
Swi = (h5 - h) * d5; % 风作用面积 Swa1 = h * d5; % 水作用面积
Fwi = 0.625 * Swi * Vwi ^ 2; % 风荷载 Fwa1 = 374 * Swa1 * Vwa ^ 2; % 水流力
% 求解锚对第一个链环的拉力
Fd = Fd3 + Fd4 + Fd5; % 总浮力
G = n1 * G1 + G2 + G3 + n4 * G4 + G5; % 总重量 Fx = Fwi + Fwa1; % 锚对第一个链环的水平拉力 Fz = Fd - G; % 锚对第一个链环的竖直拉力 if Fz < 0 && -Fz <= n1 * G1
nz = ceil(-Fz / G1); % 河床底部的链环数
elseif -Fz > n1 * G1 && -Fz <= n1 * G1 + G2 + G3 nz = n1 + 1;
elseif Fz == 0 nz = 1;
elsenz = 0;
endif nz ~= 0
Fz = nz * G1 + Fz;
fa = zeros(1, nz + 1);
tan_fa = fa;
tan_ct = zeros(1, nz);
elsetan_fa = Fz / Fx; fa = atan(tan_fa); % 第一个链环与竖直方向的夹角 endF(1) = sqrt(Fx ^ 2 + Fz ^ 2); % 锚对第一个链环的拉力
k1 = G1 / (2 * F(1) * cos(fa(1)));
% 求解第 i(i<n1)个链环 if nz < n1
for i = nz + 1 : n1 - 1
tan_fa(i + 1) = tan_fa(i) + 2 * k1;
tan_ct(i) = tan_fa(i) - k1;
endend
% 求解最后一个链环 if nz <= n1
i = n1;
tan_fa(i + 1) = tan_fa(i) + (G1 + G2) / (F(1) * cos(fa(1)));
tan_ct(i) = tan_fa(i) - k1;
fa = atan(tan_fa);
F = (F(1) * cos(fa(1)) * ones(1, i + 1)) ./ cos(fa(1 : i + 1));
end% 求解钢管
for i = n1 + 1 + n4 : -1 : n1 + 1
tan_fa(i) = (Fd5 - G5 + (i - n1 - n4 - 1) * G4) / Fx;
fa(i) = atan(tan_fa(i));
F(i) = (Fwi - Fwa1) / cos(fa(i));
tan_ct(i) = tan_fa(i) - (G4 - Fd4) / (2 * F(1) * cos(fa(1)));
end% 求解钢桶
if nz <= n1 + 1 i = n1 + 1;
tan_ct(i) = (G2 + F(i) * sin(fa(i)) + F(i + 1) * sin(fa(i + 1))) / (F(i) * cos(fa(i)) + F(i + 1) * cos(fa(i + 1)));
F(i + 1) = (F(i) * sin(fa(i)) + G2 + G3) / sin(fa(i + 1));
endct = atan(tan_ct);
Swa2 = pi * d3 ^ 2 / 4 * cos(ct(n1 + 1)) + d3 * l3 * sin(ct(n1 + 1));
Fwa2 = 374 * Swa2 * Vwa ^ 2;
% 画图x = 0; y = 0;
for i = 1 : n1
x(i + 1) = sum(ln1 * cos(ct(1 : i)));
y(i + 1) = sum(ln1 * sin(ct(1 : i)));
endx(n1 + 2) = sum(ln1 * cos(ct(1 : n1))) + l3 * cos(ct(n1 + 1));
y(n1 + 2) = sum(ln1 * sin(ct(1 : n1))) + l3 * sin(ct(n1 + 1));
for i = n1 + 2 : n1 + n4 + 1
x(i + 1) = sum(ln1 * cos(ct(1 : n1))) + l3 * cos(ct(n1 + 1)) + sum(l4 * cos (ct(n1 + 2 : i)));
y(i + 1) = sum(ln1 * sin(ct(1 : n1))) + l3 * sin(ct(n1 + 1)) + sum(l4 * sin (ct(n1 + 2 : i)));
endplot(x(1:n1+1), y(1:n1+1),'b') hold on
plot(x(n1+1:n1+2), y(n1+1:n1+2),'r')
plot(x(n1+2:n1+n4+1), y(n1+2:n1+n4+1),'g') H1 = sum(ln1 * sin(ct(1 : n1)));
H2 = l3 * sin(ct(n1 + 1));
H3 = sum(l4 * sin(ct(n1 + 2 : n1 + 1 + n4)));
h = solve(H == H1 + H2 + H3 + h, h);
HH = H1 + H2 + H3 + h;
R = sum(ln1 * cos(ct(1 : n1))) + l3 * cos(ct(n1 + 1)) + sum(l4 * cos(ct(n1 + 2 : end)));
B = [180*ct(1)/pi 90-180*ct(end - 4)/pi h R]