数学建模社区-数学中国
标题:
2016数学建模国赛A题程序(原创)作者cclplus
[打印本页]
作者:
杨利霞
时间:
2019-4-10 10:54
标题:
2016数学建模国赛A题程序(原创)作者cclplus
2016数学建模国赛A题程序(原创)作者cclplus
1 P9 {# X9 o) t/ o6 m8 O
5 K9 c) a3 B; u; [# y+ e
* Y3 {! o( H) [1 L9 Y; @
clear all;
8 v1 B0 a' F5 x9 ^* Q
close all;
, A1 K ]4 D; J) T' c$ w, `
clc
# ]! [/ a7 j9 h5 _; u
format long
6 {4 @4 q, |# Z) B- `* \3 `
syms h S Fw Ff Ff1 a b c d l L F depth n pl m x1 y1 y t distance n a1 b1;
1 K, }: ]3 T: o$ p
F=[];
# {# [) _4 U6 r6 H4 O
theta=[];
( i* t8 U, `; ]+ K2 a8 \4 a
v=24; %风速
- ?2 ?! _- l ^- q1 K! v( a7 e' {
l=105*10^(-3); %锚链每节链环的长度
, [: A( _9 M) K
L=22.05; %锚链的总长度
- U3 T/ q2 U& o- B% @" l
num=0; %通过更改不在海床上的链节数得到一个最优解
9 s1 f8 {. _* d
num1=round(L/l);
8 c4 a- Y8 Y% k% B; f ~; e
num2=0;
0 K. k4 g7 o4 |( J6 d) S
lin=0/180*pi; %第一个链节与水平方向的夹角
( g; F6 V) [# e" c' N
lin1=90/180*pi;
- T7 p8 G* A! J4 W& j& y9 p5 O
lin2=0;
7 V. j, V3 h, O& y
m2=1200; %重物球质量
, V: o; w8 p( E* Z7 ?9 O
pg=7.7*10^3; %重物球的密度(单位:kg/m^3)
# V; } A$ O1 h, I% ~" g
depth=20; %水深
$ m5 P. |9 { o1 n: b6 I
pl=7; %锚链单位长度的质量
6 t1 S1 i f, z3 k$ I: \) Q/ ~
vh=0; %海水流速
. R$ Y' _) {/ `- _ S% G7 q
g=9.8; %可通过改变此语句来修改重力加速度,单位为m/s^2
2 T2 ]! A) U8 E6 V$ f/ }
p=1.025*10^3; %海水密度
3 g; A: p/ Y) J2 M! Y
M=1000; %浮标质量
- W) ?: O5 l2 i0 N0 @1 q3 w
m=10; %钢管质量
, U6 ]2 G8 H7 W) H+ |3 O
m1=100; %设备和钢桶总质量
t% q' j3 i) H) _( S: t
y=0;
7 l8 l2 ^0 O! H- L
d=1;
" O" \7 L) } q. c0 k1 L
j1=0;
& I6 D4 {4 b7 r/ c7 \4 g. F
j2=0;
/ j0 w, S* e' [) A; c
while(abs(y-d)>0.005)%在这里选择所需要的精度,
1 M9 l8 \5 R# h4 i+ L+ r8 W3 ~, @
if (y>d)&&(num<round(L/l))
. U0 u% I) Y' d
num1=num;
- G+ _; W/ n& R4 ^7 K$ Y3 q
num=round((num1+num2)/2);
2 w8 _& V/ b' Q( L: [% F5 _0 V
elseif (y<d)&&(num<round(L/l));
2 p7 V5 m% y3 a! W* G& O
num2=num;
$ {. e9 T! G( f2 w5 Z
num=round((num1+num2)/2);
3 Y4 `- y& d* s, I: q
elseif (y<d)&&(num==round(L/l))
( S" V) r7 ?! H* N- [6 Z8 ~) C
lin2=lin;
6 P e* Y5 Z( }; a& y8 Z1 X. R
lin=(lin1+lin2)/2;
3 M$ }9 U% A( }3 c
elseif(y>d)&&(num==round(L/l))
0 D. ~: [: ]6 _ N8 z+ P" J0 E
lin1=lin;
5 _) t1 j# k7 j; r) W8 h: v0 l+ t* J
lin=(lin1+lin2)/2;
W7 `0 Z' g2 Q* R( l
end
1 d6 C% T$ G7 Q
%钢桶受到的浮力
: y2 y. |& H a% W8 g
Ff1=p*g*pi*(0.3/2)^2;
5 E" k' P5 _' f, x, g+ Q' I
%钢管收到的浮力
3 ` ~% C$ O- x3 y4 f' ?
Ff2=p*g*pi*(0.05/2)^2;
* |0 C; ~) N0 w, T
%重物球所受浮力
# q/ ?! r, J3 T9 `1 Q! m
Ffg=p*g*m2/pg;
/ O% ]: Y" L! d ~4 O2 A [6 H
%重物球所受海水水流力
; t o* y& [8 l2 o% i
Fhg=374*pi*((m2/pg/3/4)^(1/3))^2*vh^2;
1 [/ ?2 F B9 V0 ^" k. S
%风对浮标受力面的投影面积
' F* Z3 @& O% i
S=2*(2-h);
7 p: p+ V- p2 A# ]1 e% x
%风对浮标产生的力
% X8 a7 z% G0 y& Y2 D; s, ^
Fw=0.625*S*v^2;
1 e& ?# w* I$ V/ n6 R
%浮标在水中的体积
3 E/ y1 ^: x! o7 ?0 U6 u
V=pi*(2/2)^2*h;
; y, |& W+ I) A# M. B/ G( f
%浮标所受到的浮力
/ W3 [& x$ l1 D& b* v9 ^& u6 C
Ff=p*g*V;
" t3 }6 E, D4 u% ~% V
%浮标受到海水的近似水流力
4 l4 A4 \0 s( {. B
Fb=374*2*h*vh^2;
% s T8 b3 o7 O( P5 b
%钢桶受到海水的近似水流力
8 ^+ K. N3 A" ~% v
Fs1=374*0.3*vh^2;
2 [. c$ q! V2 Q% Y# \
%钢管受到海水的水流力的近似值
2 T& S' F7 f$ h$ ~' a$ o6 R) r1 e! v) b
Fs=374*0.05*vh^2;
# `- E- }8 R+ |2 J! T
%浮标浸没水中的高度
4 ]' Y/ p2 n, m& W
if num==round(L/l)
) x7 _2 `' M# }6 R( {: ^ P" g
h=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+pl*L*g+(Fhg+4*Fs+Fs1)*tan(lin))/(p*g*pi-(1.25*v^2+374*vh^2)*tan(lin));
3 [# j v* }4 B
else
# \/ s( N! H3 @6 `7 }& E
h=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+num*pl*l*g)/(p*g*pi);
9 ]; Q# c+ c I) T+ M9 \9 Z
end
1 h/ X; I( q0 w
a=Fw+Fb;
( c1 n+ A1 ^8 x
b=-M*g+Ff+(Fw+Fb)*tan(lin);
( P0 v N- w" d4 A7 E) I6 |
if j1==0
0 X. { E, q1 |
a=eval(a);
& v; P7 d' A; q7 D3 W
b=eval(b);
2 }. q5 c7 q! U3 s Z
else
6 s% ~' D1 F% R P- J
end
8 ^) K0 t& f+ R, e
F(1)=sqrt(a^2+b^2);
' }. E# o: E4 x6 C* ]* F4 r, q8 t5 b
theta(1)=atan(b/a);
4 i$ s; `! B! ~, V# ?7 R5 r
n=0;
8 K0 }7 c! r2 V2 h" x/ t& \6 D4 {
for i=1:4
( i4 c3 X( F) G: U- k
%钢管受到海水的水流力
8 F1 R% K! @7 y" @; k4 ^1 S9 o% z
Fh(i)=374*0.05*sin(theta(i));
5 F) ~6 r5 s( Q6 h# S [1 i
n=n+Fh(i);
! J( L8 w6 ]6 B) _% V0 I
a=Fw+Fb+n;
, S' J6 r/ e% H+ |: b
if j1==0
3 [% p1 ^) @, e9 t
a=eval(a);
5 k- C+ Q6 ?+ J* N; G1 i' E
else
4 ] j' T/ \6 v! b( W* b
end
! s6 t7 X$ W2 T2 x% d
b=F(i)*sin(theta(i))+p*g*pi*(50*10^(-3)/2)^2-m*g;
+ N, M* |4 W% A4 }9 i1 z3 A* ^( S
F(i+1)=sqrt(a^2+b^2);
# [" Z3 W! C E" b7 E
theta(i+1)=atan(b/a);
( B+ V" v) f& ?" {6 [6 ^. z5 Q
end
& `! R6 v( Q& r7 Y1 A, A
c=0;
3 R9 `/ }5 Y" D [( Q" R
for i=1:5
, q0 u- {( o! I' Y+ u" ]
c=c+sin(theta(i));
& R) o" m, ^; M$ \: C
end
9 k3 Z/ \: X+ Z' j
d=depth-c-h;
( J& B; J T$ ^3 u x! s0 A: M4 k1 f+ E
y1=lin;
& Y! h% r6 r+ R- A
distance=0;
& ~" u# D6 Q, X2 q4 y) ^
if num==round(L/l)
9 V) H( T4 K( C! y4 P
y=l*sin(y1);
6 V# ]$ e' N+ g6 C3 s) A! B: h
x1=Fw/sqrt(1-(sin(y1))^2);
$ Y( N2 _" Z6 z6 ?8 @
for i=1:num-1
9 W% C M) _, M9 {7 N6 p9 w% O* G
m=(x1*sin(y1)+i*pl*l*g)/sqrt((x1*sin(y1)+i*pl*l*g)^2+Fw^2);
3 `% K7 d9 M" `. |6 n' j
m=m*l;
6 s8 a, R. P9 ~
y=y+m;
! Y, C+ ~% I+ p# ~/ o
n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
/ ?8 p, J' k, L' t& [
if j1==0
5 y9 ]" a1 e* g: I- t0 {8 ?; Q% D, ~4 @
n=eval(n);
, K7 I3 S$ C8 z5 t& P; a
else
& J1 P% }" e/ { Y8 h4 m" G1 O
end
3 ~; P* y4 t5 E% P& {1 _
distance=distance+n;
4 U( g# q$ R% p) O& L3 \" |
if j1==0
& g9 _: O$ A3 \- h$ l
y=eval(y);
1 l+ _, h L) K# G Z
else
c, N! A! N% n' ? \% t# j
end
. X/ V$ F4 f; @" P* i
end
( f/ s0 V: X) ~+ |
else
) `2 U( F$ ~: _1 \8 ]6 P
y=y1*l;
* `# g5 k. }4 X( M3 r
distance=(round(L/l)-num)*l;
; T) ]5 l8 o# i7 O0 {' f( P7 G' C4 o
for i=1:num
" y2 n5 t3 l6 A' l5 y$ _2 |
x1=Fw/sqrt(1-(sin(y1))^2);
) r- c3 X0 B! K* {! a8 l
m=(x1*y1+i*pl*l*g)/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
- V6 E. ?- b/ f0 R4 K5 ?# y, m
y=y+m;
1 I0 D; {; R0 a. \- C& ^
n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
+ I) L. ]/ }/ ^9 d! {
if j1==0
$ ]: J6 N1 q6 _) T8 \, [' v
y=eval(y);
' v% X' N3 W: W; i" `/ Z
n=eval(n);
5 w8 ~# V' c/ c) V
else
6 ^4 M: K' W0 ]7 L# P# a7 _- ~
end
9 ?6 \8 t* `5 _
distance=distance+n;
/ u6 X1 r! x1 V1 Q+ x6 {/ z
end
3 M+ @1 X8 [, r$ S. p J8 U
end
- F; Q; h4 M4 z* h0 ?( ^0 u
m=0;
" m0 y- q0 w, g2 ]4 {7 w- T, ]* j
j1=1;
/ E6 u* ]8 G, o& r/ B
j2=j2+1;
5 M6 ^5 o! i; \
end
7 n" d- g6 w9 J* M3 a$ |$ ^0 g
%钢桶受到的浮力
4 E+ k$ ]& z6 ]
Ff1=p*g*pi*(0.3/2)^2;
. ]: c) W/ _2 A1 ]' P- a
%钢管收到的浮力
+ X1 F* J8 U; O
Ff2=p*g*pi*(0.05/2)^2;
0 v; i) O6 T5 d+ V
%重物球所受浮力
* a4 ~: e+ q7 O# ~+ @4 ?! ?
Ffg=p*g*m2/pg;
- s; W4 F1 x9 x4 n3 N( P2 z. N
%重物球所受海水水流力
M3 I. ^+ Q& ?+ T r
Fhg=374*pi*((m2/pg/3/4)^(1/3))^2*vh^2;
; J1 X3 l) O8 [. F/ E
%风对浮标受力面的投影面积
/ p2 A# y! d3 l R# g
S=2*(2-h);
2 M0 W; K2 A( [7 F
%风对浮标产生的力
, A& L9 W& D0 @0 L
Fw=0.625*S*v^2;
' R7 y$ ?0 U( n% Y/ C% K
%浮标在水中的体积
3 X4 ^3 M: V/ D' `* S/ m
V=pi*(2/2)^2*h;
, b4 y' T9 G" Z4 \: a Z1 g/ g' n
%浮标所受到的浮力
6 X' _1 T. t& {" N
Ff=p*g*V;
2 T- V$ c" N- x
%浮标受到海水的近似水流力
9 U3 b: ^- b8 q$ \! y3 V
Fb=374*2*h*vh^2;
% C& m; v$ I/ C# u( `0 I
%钢桶受到海水的近似水流力
5 L2 c2 O7 U( g8 w9 ^4 P, a
Fs1=374*0.3*vh^2;
7 i6 j1 |4 y1 O9 Z
%钢管受到海水的水流力的近似值
/ ?% D+ ~% x0 f/ \7 @9 N6 [1 k
Fs=374*0.05*vh^2;
* J. n( k2 `" ]" }
%浮标浸没水中的高度
* T) T% w' Q3 z, J. K" G5 s0 r! d
if num==round(L/l)
/ ]3 R2 J, _; ^. Q, g5 Z" F1 k) N
h=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+pl*L*g+(Fhg+4*Fs+Fs1)*tan(lin))/(p*g*pi-(1.25*v^2+374*vh^2)*tan(lin));
! _" h2 h2 I$ u
else
, y3 u! Q% B: a; I. S2 f% _
h=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+num*pl*l*g)/(p*g*pi);
`( _6 a. [5 B
end
/ w0 Y/ W! _0 @: K' r1 w' k
a=Fw+Fb;
, c+ T" K: A& q* V
b=-M*g+Ff+(Fw+Fb)*tan(lin);
1 a, L" d y7 S- K/ V
F(1)=sqrt(a^2+b^2);
+ c* G3 I: Q2 [- z& n
theta(1)=atan(b/a);
* W# S1 d0 U1 N; \, ~8 R/ S, M
n=0;
$ o6 V$ R/ @6 N( ^8 A
for i=1:4
5 _1 i& Z" m' \# |9 i- d1 b7 w
%钢管受到海水的水流力
& |: ^) ~! L t \, m
Fh(i)=374*0.05*sin(theta(i));
# k8 l' H% [3 ]. _: z8 h
n=n+Fh(i);
( z9 \. A, P9 h' w* N
a=Fw+Fb+n;
: m( [( `% u, n, i& B; |
b=F(i)*sin(theta(i))+p*g*pi*(50*10^(-3)/2)^2-m*g;
6 p, e$ P5 K+ x% `
F(i+1)=sqrt(a^2+b^2);
9 D4 d( F; W1 {$ }9 B
theta(i+1)=atan(b/a);
. v8 s- |8 q) K
end
8 o) A$ ~. v8 }
disp('输出钢管和钢桶的倾斜角度(角度制)')
9 \1 `# j J1 H
th=90-theta*180/pi
- P2 ]0 w0 t; s1 A% w
m=85*pi/180;
6 s" S8 O+ l5 j& y% J8 a4 a2 a
if theta(5)>m
; \6 I$ @/ y+ f6 E
disp('钢桶的倾斜角足够小,测量准确')
& V" h. g" B9 p; H. T4 V+ S3 j
else
) e5 l+ c; S) i! {7 A2 R
disp('钢桶的倾斜角过大')
3 a5 y, F. ^1 z4 x& J& B
end
" @% |+ t4 w7 |9 g5 Q
c=0;
4 `- t% Q/ I* p; l6 |( p
for i=1:5
. g# W' P" L) H# N) z0 H/ v, s' @" s
c=c+sin(theta(i));
) ]+ l, a" N# Y/ P7 {6 M# `
end
& h, H+ B; e4 [$ n2 m5 _4 r4 s# [
d=depth-c-h;
" ?3 ^5 E& s, O; b7 G9 w* _
y1=lin;
9 X! O0 V9 L. Y( D2 t5 z9 e
distance=0;
5 z- i e5 l+ f$ H( E1 B$ H
if num==round(L/l)
3 y$ s+ n4 ^/ v4 w' e0 W; D7 e+ s
y=l*sin(y1);
: v. i& D7 F, x; c& j( m; o
x1=Fw/sqrt(1-(sin(y1))^2);
4 x3 {3 g: `+ ?/ Y' U
for i=1:num-1
. b4 I" j: D1 K5 A5 u5 I( T, S
m=(x1*sin(y1)+i*pl*l*g)/sqrt((x1*sin(y1)+i*pl*l*g)^2+Fw^2);
8 @; U/ H. J, m" `% [
m=m*l;
' G# q# @$ W! T$ T+ H- m9 m: E2 U
y=y+m;
( k3 \* _ G m" p9 i! Y( T% @
n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
6 b- P4 I. h" h' j g( v3 @% G
distance=distance+n;
: `' k1 a9 X$ O! k) N& u; _3 u1 H
plot(distance,y,'o')
9 l, [7 q9 W( q9 \- F% ^$ i
hold on
: B4 ]! ]( S8 e' M
end
% C( g3 y, F9 _9 W& b. x" F4 D
else
% |" w' ^5 K* j7 I
y=y1*l;
" \' C4 I/ L9 c1 c
for i=1:round(L/l)-num
6 r7 d0 H9 K$ W" V+ D) R
distance=i*l;
: u6 R) \6 R$ o7 ?. w! y- w
y=0;
# b V$ A* S% p8 y- ^$ `
plot(distance,y,'o')
% r8 f; u9 A1 b
hold on
4 k# F! }1 M. c2 U9 s. w. c$ B. J
grid on
7 d+ `( b3 u2 ]2 `- p ?+ {5 Z
end
3 t. d0 ^9 J' @
for i=1:num
6 L& @/ q) [# O1 b |) e
x1=Fw/sqrt(1-(sin(y1))^2);
, Z% t# x( H: n* v. N& c
m=(x1*y1+i*pl*l*g)/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
) s- Q) P8 ?. k6 }) @
y=y+m;
, {' ?" h; ^# f
n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
! r" ?6 e/ E2 v% h( Q) N" |
if j1==0
' m2 p: K0 ]9 `! I
y=eval(y);
& _* O# J- o$ ~, ?
n=eval(n);
# O5 ]6 V& K# B- @, J
else
2 w2 g, q7 p' y& H- z6 S8 w
end
" z( t) r' Z. y2 z# L/ r
distance=distance+n;
3 T3 b$ e( u) u% q. I" ]& s
plot(distance,y,'o')
, }2 p. C8 W/ E
hold on
9 E: T- }, _* `
end
# l% [2 A+ S& V& y
end
: h$ J5 K. E* m. t3 n* O
m=0;
0 O9 i s' P, a; H4 Z/ S
for i=1:5
; `- l- y% I* S
m=m+cos(theta(i));
* `) F& s! ^! R* N( p$ T- h5 `
end
( g5 B$ G0 m F; A' R
%浮标的运动半径
) j" |$ h' G ^; I5 l$ K) r
disp('输出浮标的运动半径')
3 y5 X0 R* i5 i4 M" ~
ans=distance+m
% ]; d8 W7 ^, \' h
6 `# q8 @+ W$ x, Q; ]$ J
& v4 p9 |: h: V$ ?
8 X* D7 H. s! |; ^6 E
1 t5 H. Z1 N/ q( S
* z+ ~; o1 U9 h P, @/ G3 l
/ o p, e) r l
$ i! T/ \" E5 G7 O4 J: m( Y' _
2018全国数学建模总结.docx
2019-4-10 11:37 上传
点击文件名下载附件
下载积分: 体力 -2 点
17.26 KB, 下载次数: 0, 下载积分: 体力 -2 点
作者:
571334077
时间:
2019-4-10 19:25
2333333333333333333333
# v, _, H5 I6 E# j6 Z6 p' w
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5