数学建模社区-数学中国
标题:
2016数学建模国赛A题程序(原创)作者cclplus
[打印本页]
作者:
杨利霞
时间:
2019-4-10 10:54
标题:
2016数学建模国赛A题程序(原创)作者cclplus
2016数学建模国赛A题程序(原创)作者cclplus
3 f: a( h4 P6 L* m
2 L( n% t! m: v2 I
. z8 H2 b# O) j# e( [% E0 z& B! c
clear all;
) y0 B* L% Y" R. K; l
close all;
* n6 H# z7 z0 b
clc
2 b8 y2 d5 A0 H8 @( Y( o, I1 d
format long
) a, ?/ U7 q9 P4 Y6 h- }9 J' f- M; u
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;
2 X5 g4 u$ ^' N0 |) Z$ Y* \5 m9 Q7 P8 K
F=[];
7 t1 w+ H7 f* x! C8 _
theta=[];
- k3 [: j% g, i
v=24; %风速
; C8 u; `1 L f4 I+ o2 ?
l=105*10^(-3); %锚链每节链环的长度
9 e" A* f$ \- |
L=22.05; %锚链的总长度
: G; Y" f- I5 ?* T, C) N
num=0; %通过更改不在海床上的链节数得到一个最优解
* E$ n. ?; T1 x8 O5 \; k0 o# r$ ]
num1=round(L/l);
# x" n/ z+ \- f& l% i* Q m
num2=0;
7 h' C v4 v3 l/ T3 m" `) Q) |' M6 P
lin=0/180*pi; %第一个链节与水平方向的夹角
7 z5 e5 q3 H9 ` Y k; n
lin1=90/180*pi;
: V. { X/ `0 u1 z0 R
lin2=0;
+ v, i! m) U2 ^, ^% A3 ^- F8 e% V
m2=1200; %重物球质量
" k; R# C( B/ A+ [; n
pg=7.7*10^3; %重物球的密度(单位:kg/m^3)
' C* z; Q6 T4 r- r! E
depth=20; %水深
% e4 W0 E1 H$ R$ u0 k6 \8 K* C9 U
pl=7; %锚链单位长度的质量
( o) c3 _ Y1 Q# p9 m" V! V
vh=0; %海水流速
2 q! k2 a5 q9 {* C; e3 ~
g=9.8; %可通过改变此语句来修改重力加速度,单位为m/s^2
3 {% @( k( h$ o. s5 j6 N- ]" V
p=1.025*10^3; %海水密度
" T% U" M9 P7 W8 y" ?
M=1000; %浮标质量
& L3 I. N, ~3 L k( l- M' S6 L' d- E$ O8 ^
m=10; %钢管质量
8 |1 [/ N* r3 j! ^0 C2 \/ i
m1=100; %设备和钢桶总质量
( a+ P9 J$ L4 f5 b* C# R" v, }
y=0;
: A# W% Y. ]$ B) F% O& X; R6 Y
d=1;
: F& H s3 ]$ }/ @% {8 H2 W) n
j1=0;
5 K- y% _% Z+ |7 f' `, K" Y
j2=0;
8 ~* g. G3 U3 t- o: @( q
while(abs(y-d)>0.005)%在这里选择所需要的精度,
~& z' `4 w" V" D9 _
if (y>d)&&(num<round(L/l))
]! D; [" w. k
num1=num;
. {# F' K; q/ X! x, ^3 z$ O/ A
num=round((num1+num2)/2);
5 k+ x9 m; \4 J5 D! S% ?; M
elseif (y<d)&&(num<round(L/l));
/ M+ H5 Q& s/ K; B& N% ^
num2=num;
+ F( B3 w( L( T$ X( i
num=round((num1+num2)/2);
$ _/ F. H$ p2 b1 [# M
elseif (y<d)&&(num==round(L/l))
; R2 `) N" v7 G
lin2=lin;
! q' g+ i& v: F4 g* c
lin=(lin1+lin2)/2;
+ m- `9 h% F' t8 ^" j. a( j
elseif(y>d)&&(num==round(L/l))
; F1 d3 U" |. D- ^9 k: @7 M
lin1=lin;
" G7 Z2 C; x- i: Y2 ?+ l
lin=(lin1+lin2)/2;
" T2 y0 E/ ~3 T+ G0 J% R" B! v2 j( n; j
end
u6 y+ z: l4 O" x0 B. z
%钢桶受到的浮力
! ^2 ~, K: k: j4 `' p
Ff1=p*g*pi*(0.3/2)^2;
! _7 m# v' o6 ]& z4 ~
%钢管收到的浮力
* G1 G. q& |& @6 A* M
Ff2=p*g*pi*(0.05/2)^2;
5 P6 A" r5 e/ ~: D5 R
%重物球所受浮力
7 H v# y' M9 N5 ^# u3 ^
Ffg=p*g*m2/pg;
R% M$ U5 O1 E3 Q& Y3 x2 J
%重物球所受海水水流力
0 v1 t* q. f/ i. S& S
Fhg=374*pi*((m2/pg/3/4)^(1/3))^2*vh^2;
" A0 _5 {/ K: J; s! z9 r; J
%风对浮标受力面的投影面积
/ p( [9 u N' G+ p
S=2*(2-h);
' w- b+ ~( X* X& v: x/ J7 A% d
%风对浮标产生的力
+ U5 m! U; j r( h8 W5 t
Fw=0.625*S*v^2;
* ]# J9 x2 h- [
%浮标在水中的体积
2 ?/ Z" C" z6 I6 z, F* t; L: v% q
V=pi*(2/2)^2*h;
; X$ z: f, ]3 T2 g8 p
%浮标所受到的浮力
) J& q3 ~2 x, F( k i3 x: v, C
Ff=p*g*V;
( w3 i, s, @3 r' j, C
%浮标受到海水的近似水流力
' @5 E* C D5 m# k5 f
Fb=374*2*h*vh^2;
- c8 o+ P; q1 k2 w* r! M- Q
%钢桶受到海水的近似水流力
0 G5 ~0 d# \! p* u) g7 M' u! T
Fs1=374*0.3*vh^2;
, i. X( ? q- R8 j! G
%钢管受到海水的水流力的近似值
. i2 `, }; t0 ?: Q7 ]1 z
Fs=374*0.05*vh^2;
+ P: X4 u& M% r4 y3 c, n" M
%浮标浸没水中的高度
~4 O+ y; u0 O4 Z7 u
if num==round(L/l)
( C. v* U& d( i" e1 A
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));
( M' ^: [( g, y2 q3 W3 [
else
% w9 L/ @+ T8 a; n# l/ o7 B
h=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+num*pl*l*g)/(p*g*pi);
" u X" x) ]# G5 P- R+ [+ [
end
8 U/ w: l0 n+ d o
a=Fw+Fb;
8 r$ Z7 I) y7 W' W
b=-M*g+Ff+(Fw+Fb)*tan(lin);
8 \" Q; y( G1 S+ Z0 v% r/ Z% t! |
if j1==0
5 W6 y% ?/ z. W' m" \# ?
a=eval(a);
# f5 f$ J* }3 R4 V" q0 C
b=eval(b);
8 c* `* y/ n$ E& `
else
$ ?! l9 A% @0 Z7 Y
end
- g) h7 i0 z% ^; L6 h; P
F(1)=sqrt(a^2+b^2);
3 _4 ]1 w( I: p8 C1 o
theta(1)=atan(b/a);
) O/ W3 j. `5 m( ?
n=0;
& X1 ^( D n$ C f% G3 h. k. v
for i=1:4
; i; ~3 S* }8 P1 ]1 K0 s5 q
%钢管受到海水的水流力
( N8 T9 ^" U% b
Fh(i)=374*0.05*sin(theta(i));
! |: v: X( A3 U6 O0 A8 L
n=n+Fh(i);
% ?( B& ]' t! Q7 ?
a=Fw+Fb+n;
9 h8 \8 M7 A4 i; u
if j1==0
9 f# e0 d& g: k0 Q9 t
a=eval(a);
: E; w3 v- Y% s6 |" [6 T
else
- _ ?3 I2 Z3 P2 I( w5 F3 r
end
! v+ Y/ C7 G: I# a4 n
b=F(i)*sin(theta(i))+p*g*pi*(50*10^(-3)/2)^2-m*g;
% T1 F5 ~7 c* k) M6 ~
F(i+1)=sqrt(a^2+b^2);
2 S% F0 q8 h/ N6 Q( U/ m
theta(i+1)=atan(b/a);
z$ V- @. y, D; ?
end
0 i- c1 i* u. d- I! W. ?
c=0;
- I$ h8 @6 I7 ~$ e" A
for i=1:5
8 Z6 a) C; J- _) d( v4 R7 f7 S
c=c+sin(theta(i));
9 g9 r. b0 W: x5 M; Z: ~8 U& Z( H
end
$ v. d) f$ c3 m' c- f y& S; ~! |" m
d=depth-c-h;
7 b! I$ L/ ~" _* X3 ^9 B" \( P
y1=lin;
8 Z2 q0 \8 z0 l
distance=0;
% x) X0 G! b+ c2 Q0 @
if num==round(L/l)
. s! [( x3 v5 k& M! j$ ]
y=l*sin(y1);
, ~& S! G4 Q+ M# r7 V: U
x1=Fw/sqrt(1-(sin(y1))^2);
! X4 u: s7 `- \" Q) X/ a
for i=1:num-1
3 g x0 T- m+ W5 Y! T
m=(x1*sin(y1)+i*pl*l*g)/sqrt((x1*sin(y1)+i*pl*l*g)^2+Fw^2);
- v1 [- g" u; b: U6 H3 x
m=m*l;
6 G6 z" A* F; u" }& \. E% V
y=y+m;
* z9 }. [1 q/ f. v, l- o- F# ]
n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
$ I/ T# R+ F+ r$ r
if j1==0
: h; {: R' C2 l5 ~
n=eval(n);
0 k# _- k/ e: l) _4 w# T( {
else
6 f b$ Z1 ~3 a: y g! n
end
" c' j4 i; r% z7 c+ U, H
distance=distance+n;
5 j- ^& q" o3 l% J! G
if j1==0
1 Y( V6 W3 C6 O3 J* r; C. U/ d
y=eval(y);
3 K+ c( \% ~6 p+ q4 p
else
l. I3 c' I6 }/ H6 a
end
7 s/ V1 N/ _+ ~$ L) R
end
' C" i* ~4 ?! \1 S) i; t; L
else
. G3 A' j+ I. |$ e3 E0 e. |
y=y1*l;
( z! M7 J% q3 I+ v* u
distance=(round(L/l)-num)*l;
, G, N5 F2 w; V( i1 a& q
for i=1:num
7 x/ o( }0 d: s1 c3 t: E2 z
x1=Fw/sqrt(1-(sin(y1))^2);
0 |9 {- r, V n
m=(x1*y1+i*pl*l*g)/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
& [) b" n7 l! Y% t" e
y=y+m;
9 a& @1 a6 B4 z0 y
n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
) }7 q# s$ B. |8 x
if j1==0
: ~% i1 U; o% m9 M! F g
y=eval(y);
8 a9 j' l- |8 a) t( p
n=eval(n);
1 }! D& h- C8 z/ j6 Y' o3 o
else
' K0 t) b4 [/ g* _6 v" e
end
( z/ b, W' G7 h) _$ O
distance=distance+n;
+ g5 A' U( t. f+ `- _) ?
end
0 ^3 Y @# `0 M) a
end
4 L# O, l6 N4 |$ w
m=0;
8 b# T& K2 m U2 c5 k1 u2 T& E
j1=1;
& t- o+ N) s G& _; a- }8 b
j2=j2+1;
7 u0 r9 m) w1 M7 R! v8 j$ I1 A
end
+ P/ I: |& M& F! F
%钢桶受到的浮力
/ V# W3 J; N5 v8 s/ ]1 U
Ff1=p*g*pi*(0.3/2)^2;
6 Y V" ^2 {# ?% c8 T$ x- C. Y% ^
%钢管收到的浮力
5 a* `- T7 I3 ^: h7 {' q. O1 P
Ff2=p*g*pi*(0.05/2)^2;
7 T# A. `4 i+ {4 E' t7 N
%重物球所受浮力
3 z! F! m4 b" C3 j$ g8 h: y
Ffg=p*g*m2/pg;
) {! ]0 O1 x4 _+ [5 F
%重物球所受海水水流力
9 R5 B* i! b( n! l' Q
Fhg=374*pi*((m2/pg/3/4)^(1/3))^2*vh^2;
: ?9 W8 l$ ?. I
%风对浮标受力面的投影面积
! J, F/ s4 y* V, r1 h/ x
S=2*(2-h);
$ s' C9 f- k; I+ w7 U7 T n
%风对浮标产生的力
( d* g' L+ c8 k D/ V/ L
Fw=0.625*S*v^2;
: t3 d2 j/ C: @' \+ ]( x! M
%浮标在水中的体积
5 Q2 i/ L) ~. [4 x. e( y+ w
V=pi*(2/2)^2*h;
9 F* `% Y4 h# A3 |# M; ^
%浮标所受到的浮力
+ F r* p: q! |: E. R
Ff=p*g*V;
/ z$ r# R8 k# s0 z0 v; w8 M* I
%浮标受到海水的近似水流力
9 {0 F ^& ~% T) j6 M' `( j/ ]& q
Fb=374*2*h*vh^2;
9 A+ r; C* R. G: N
%钢桶受到海水的近似水流力
# m; K- D$ ?# G" q7 O
Fs1=374*0.3*vh^2;
$ {) x" t3 A8 ?$ w" T y! M4 S x
%钢管受到海水的水流力的近似值
/ G7 W& T% `1 O1 g% r* Q+ F( I
Fs=374*0.05*vh^2;
' j: [. ~. w. Z0 J/ K9 p
%浮标浸没水中的高度
2 o" H) d% ]3 ?) X( x
if num==round(L/l)
# v; u$ Q: q* x5 ]3 `
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));
8 U7 h: s7 H, [0 D# P9 b& ?# s
else
3 P: L3 D7 v, Y$ }# R
h=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+num*pl*l*g)/(p*g*pi);
0 [* P+ |% u% @- D4 Q
end
* M& e' Y7 f4 M8 U* g. ?) ] }& P% E
a=Fw+Fb;
6 M s' p6 a( R1 b. I6 G! C
b=-M*g+Ff+(Fw+Fb)*tan(lin);
7 e- Z6 r6 ]9 p0 C% A
F(1)=sqrt(a^2+b^2);
* X _1 b) s! T+ E6 z$ o4 t& c8 H/ h5 X
theta(1)=atan(b/a);
0 z7 O; Y3 x; m* @8 }) |1 ~1 q5 S/ l
n=0;
) D* E5 T" Z8 ]3 | Z
for i=1:4
+ e9 m2 ~! M7 k3 y* ]5 A* p
%钢管受到海水的水流力
& q! P, C" K! A) q/ b% s
Fh(i)=374*0.05*sin(theta(i));
$ D( U% H% i' I: R; ]# k
n=n+Fh(i);
G# ~- o+ h1 k. ^* S1 o i
a=Fw+Fb+n;
& X: Q- O$ V! |. z, g
b=F(i)*sin(theta(i))+p*g*pi*(50*10^(-3)/2)^2-m*g;
- b& [$ z! z" w! h3 g( i/ H
F(i+1)=sqrt(a^2+b^2);
9 t: S: f* P) r" C/ X
theta(i+1)=atan(b/a);
' k% F, [' o1 N) G; k/ K1 W
end
: ?; e# O, ^: l
disp('输出钢管和钢桶的倾斜角度(角度制)')
, @& V; D4 V' j! {
th=90-theta*180/pi
& @$ b- F9 L; ^% B8 ?
m=85*pi/180;
, U! q- h$ I5 Q1 O, H4 O; t8 T
if theta(5)>m
+ M5 k' Z+ B. k# i: }/ A4 m
disp('钢桶的倾斜角足够小,测量准确')
& B$ U* b+ |5 C0 }
else
8 Y( z8 |) h) S) s s7 M
disp('钢桶的倾斜角过大')
/ W. e; q1 _! c% r; e' a
end
+ M2 U1 r+ F# h; X' i
c=0;
" i K3 D8 s$ o; P
for i=1:5
+ L, `3 ]" n2 ]& o6 v
c=c+sin(theta(i));
- H, f& n3 _' P$ o9 u
end
. W6 f/ A2 H0 q/ D; W/ f
d=depth-c-h;
' W, ~* g" z' ^& M0 D
y1=lin;
$ c, V6 v6 J* L) P4 x
distance=0;
6 p# b9 |. R5 c! C! S
if num==round(L/l)
! c. H7 u. b+ B. {1 p- j$ ?
y=l*sin(y1);
3 t( g) ^ s% |8 B' E4 i* _. U3 F
x1=Fw/sqrt(1-(sin(y1))^2);
' w$ |* l' ~& |3 k1 v" W
for i=1:num-1
$ V$ B/ G0 g% f+ ~8 u
m=(x1*sin(y1)+i*pl*l*g)/sqrt((x1*sin(y1)+i*pl*l*g)^2+Fw^2);
6 A. V6 {4 H) X
m=m*l;
5 _% d/ d! ?' I# |+ O
y=y+m;
. u+ b$ L3 B6 A. U
n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
( p. \# X P0 Z
distance=distance+n;
7 p9 M* O4 {, M2 ~3 z
plot(distance,y,'o')
0 ]0 P8 Q7 e6 j3 A) U; f$ m
hold on
3 o1 t4 U8 S" [
end
& K! {8 p! d4 d+ L
else
3 u7 y* }& h6 p3 U+ n6 g
y=y1*l;
+ R, v. q% h. i |
for i=1:round(L/l)-num
5 L4 t( j9 {. e2 c5 O7 O
distance=i*l;
1 E6 \" U- z0 z2 o! Q$ |4 O A
y=0;
* J* V# Q3 |2 F
plot(distance,y,'o')
' I) ~! m! z- Z
hold on
4 i# U; g! N H+ P
grid on
8 |8 p6 _6 z4 i3 V0 q2 K i
end
+ A! l6 V( z; ?1 v" Y! s* @! R
for i=1:num
& b, n8 t1 _$ Q% \0 M
x1=Fw/sqrt(1-(sin(y1))^2);
/ i" w0 o) K% W7 s _6 z
m=(x1*y1+i*pl*l*g)/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
6 B( P: Z, V+ e% W8 K! J3 m- J
y=y+m;
, D. B$ U/ F7 ?' P5 G
n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
! L- E7 I0 u C+ {
if j1==0
# p% U' O" T6 a4 c) S! \2 a$ d
y=eval(y);
2 s) R% k. `& m7 P
n=eval(n);
) i, x" z% G& t; |
else
7 U% R9 M' g! h! Q! ~0 ?
end
. F( K% g, p. d a7 v8 P
distance=distance+n;
. Y" D4 e0 U5 y* _* W5 }
plot(distance,y,'o')
9 P/ b" z: P5 Q' b- V# \5 E
hold on
/ |4 H! G) F# H, w
end
% Q+ d; ~( K: g9 d
end
! Z5 Y$ a1 z2 | C& c
m=0;
; r2 Y( r( b. s8 q' @8 [
for i=1:5
; y4 \6 q/ R5 J; X+ f; H
m=m+cos(theta(i));
# l/ m$ x$ d% `/ q7 I
end
6 `; a/ E& g1 c* |; J
%浮标的运动半径
: g# z8 q- n4 O" ]5 _
disp('输出浮标的运动半径')
5 B: k' K- z3 O- A. @7 }
ans=distance+m
9 t; c) W! ~. B' F4 m9 Z
( D0 Q! [8 q$ W/ s2 L1 x
3 [/ b6 X: t) _# r/ [! b, z
: R0 M$ O6 c5 R% r3 U
2 V2 j0 X4 L3 q7 Z0 \* h' v
$ A$ s) o' `. D# m' z2 {
6 [1 x( o ]# s& S
: ?7 u, y' f8 o* x1 d9 {
2018全国数学建模总结.docx
2019-4-10 11:37 上传
点击文件名下载附件
下载积分: 体力 -2 点
17.26 KB, 下载次数: 0, 下载积分: 体力 -2 点
作者:
571334077
时间:
2019-4-10 19:25
2333333333333333333333
# _ y. \! u. @% {* r
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5