数学建模社区-数学中国
标题:
2016数学建模国赛A题程序(原创)作者cclplus
[打印本页]
作者:
杨利霞
时间:
2019-4-10 10:54
标题:
2016数学建模国赛A题程序(原创)作者cclplus
2016数学建模国赛A题程序(原创)作者cclplus
% f2 A. k, g4 F G/ _
4 c' K8 G# T$ x% X
+ a6 b3 I; c! H, v' v
clear all;
8 j* _0 c; E5 `! @: w4 a
close all;
\6 B& S" u1 o$ G
clc
8 o2 n9 f% F% f- v# n, h( K( S
format long
) q' ]4 O7 d) i" `' U) v1 h, C
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;
& T1 C [9 Z# E' d( T
F=[];
2 w8 a5 p% f* f% g8 I
theta=[];
% b2 p+ y% s* G9 W. B0 h
v=24; %风速
+ |, R) h! S; w1 ~! f0 y
l=105*10^(-3); %锚链每节链环的长度
6 ?$ l7 r" g4 D* H# @ ~
L=22.05; %锚链的总长度
* G0 R& n- Z$ [* v( V/ _
num=0; %通过更改不在海床上的链节数得到一个最优解
$ p: ?1 q0 E+ x4 b+ q1 |+ c2 U
num1=round(L/l);
7 Q+ j3 w* Z& M/ Q2 P+ T8 `
num2=0;
! j$ p- O8 R. F( P" s0 F% L: P
lin=0/180*pi; %第一个链节与水平方向的夹角
- i/ N: L" k( v* P2 g
lin1=90/180*pi;
) h& W5 R4 _0 q. b0 r' p4 h( w
lin2=0;
s; t* E5 I. |# V: T
m2=1200; %重物球质量
8 k+ r( N5 X9 s d8 J
pg=7.7*10^3; %重物球的密度(单位:kg/m^3)
$ y: n6 v; x# W( r& w- `
depth=20; %水深
8 N. C& ]# h. M( _
pl=7; %锚链单位长度的质量
0 |* H p: D/ j' `' Z9 a' B
vh=0; %海水流速
6 b+ u" g+ V% e% j% P
g=9.8; %可通过改变此语句来修改重力加速度,单位为m/s^2
% v' ?, E: ?/ H& G: S8 t
p=1.025*10^3; %海水密度
8 P G# I% H$ E2 @3 O
M=1000; %浮标质量
' |8 p2 a: {. m6 o. i) c
m=10; %钢管质量
+ x( d% [% T3 f, g S- I5 ?: q
m1=100; %设备和钢桶总质量
6 O9 f9 @9 q4 N# \% G* g2 b$ ]
y=0;
2 k: o$ }0 b. Q1 F6 q
d=1;
( S& I8 q+ }5 I; S: o, z
j1=0;
/ a3 X2 H* N$ b) E5 u% f
j2=0;
9 b# r% S$ F9 \4 }) y8 D
while(abs(y-d)>0.005)%在这里选择所需要的精度,
' x- Q* w- ~8 y# \2 q6 ~
if (y>d)&&(num<round(L/l))
8 W! a* O$ T: q; S
num1=num;
3 k. e. ]' @* H$ s
num=round((num1+num2)/2);
- _" l3 I: Z* ^1 `+ q& M
elseif (y<d)&&(num<round(L/l));
& S, h9 h" P7 g- n! H
num2=num;
" K( m% I& Q" \8 w3 s- t
num=round((num1+num2)/2);
2 e# D7 r' q9 Z$ q# h8 B
elseif (y<d)&&(num==round(L/l))
, e7 Q5 B% q7 ^* Z4 _" z, ~& b
lin2=lin;
1 K8 W$ ?3 a5 g4 E
lin=(lin1+lin2)/2;
0 J0 y8 O* E P& l8 Q3 [
elseif(y>d)&&(num==round(L/l))
; @/ R* i2 j/ W5 f# ]7 ^2 G; _9 j
lin1=lin;
5 D8 Z% H& ~+ l
lin=(lin1+lin2)/2;
4 J# a( @4 T' }' I" o# v* `
end
' G* d ~, S( ] ~4 v
%钢桶受到的浮力
) _: b& z0 G8 T4 z$ w- b
Ff1=p*g*pi*(0.3/2)^2;
" z& R0 z: {2 P w3 { e$ e i
%钢管收到的浮力
4 d1 V3 w' O, z/ t9 ~& ^# C$ W9 J" Y
Ff2=p*g*pi*(0.05/2)^2;
. l* e& O* ]" k* y% T4 W
%重物球所受浮力
: r- `3 o- Z2 S h9 S& D* ^6 | `0 s
Ffg=p*g*m2/pg;
, y) q p. o( {) M; V- k' m" U
%重物球所受海水水流力
" V/ F# W( D+ r/ z4 L% _
Fhg=374*pi*((m2/pg/3/4)^(1/3))^2*vh^2;
; W. m2 q; C1 Y! h7 F, S0 H
%风对浮标受力面的投影面积
7 _& n; f: @& U, A6 o4 M/ T
S=2*(2-h);
|# Z* d/ u( I% M+ Z' T/ a7 t
%风对浮标产生的力
* p" O$ k! d. d( a3 S
Fw=0.625*S*v^2;
" X v3 ^# V, \
%浮标在水中的体积
; E2 M4 W: J3 S" |# u J
V=pi*(2/2)^2*h;
1 t2 x2 S7 T2 |3 |# D
%浮标所受到的浮力
& w6 z' |; i3 ^8 I2 j1 J& _
Ff=p*g*V;
Q/ p' L7 g0 O' L- |3 C
%浮标受到海水的近似水流力
0 \# W/ g5 C4 e7 Z1 r1 J
Fb=374*2*h*vh^2;
/ Y2 A- X8 j0 `! P0 H* c( [% K
%钢桶受到海水的近似水流力
" {5 x5 q6 D7 {5 [- [
Fs1=374*0.3*vh^2;
1 ]! r$ u* l+ w* e8 P& X! q
%钢管受到海水的水流力的近似值
9 {6 j( q6 c* J$ i
Fs=374*0.05*vh^2;
" T2 d' e& c8 d0 I
%浮标浸没水中的高度
7 ~& o/ a) F" I- n* @% c! K$ B
if num==round(L/l)
. `" [* c6 n# i
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));
* w- V9 v' C' u- r
else
: `: b* I, J% o, R: o% L
h=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+num*pl*l*g)/(p*g*pi);
# g, a) E3 v- l' a* H5 E) l
end
W1 E) Z8 S. U" u1 p L
a=Fw+Fb;
, k1 O$ k7 R( d4 j# d+ h
b=-M*g+Ff+(Fw+Fb)*tan(lin);
4 t0 ^; W6 \, {( ?7 c- ]
if j1==0
. x% F& W9 C! q) W) L6 V
a=eval(a);
6 p8 `8 R+ \1 _' F& ^8 x
b=eval(b);
7 j- G/ i; P$ {8 _; j. V, b. Y
else
/ q+ j4 `7 a( y `6 K
end
# [ P+ q3 O+ o4 w
F(1)=sqrt(a^2+b^2);
: B1 Y- X) u; j. o* J0 V! ^# O
theta(1)=atan(b/a);
1 r% R+ z" j5 @% \2 }
n=0;
0 u0 I0 D0 K8 L0 h0 d8 \2 x
for i=1:4
" S$ ~$ z: W0 ~' j% R9 R% W
%钢管受到海水的水流力
0 ?7 t# G8 {2 q/ S
Fh(i)=374*0.05*sin(theta(i));
3 @1 a9 z( b0 z# _$ @& D* [# \9 F% n7 d
n=n+Fh(i);
; W, D& Y( ^1 o# D8 X
a=Fw+Fb+n;
6 ]" {+ a, d' p5 B# z% E' k' r
if j1==0
5 N+ M B: S8 ^. u4 T) ]+ M2 B
a=eval(a);
* F! H0 V: x: K( O1 _; \
else
4 V) _. k6 V- Z$ Z: W8 j' `! ]; L
end
6 W* M: t$ Z* ~' Z
b=F(i)*sin(theta(i))+p*g*pi*(50*10^(-3)/2)^2-m*g;
5 _* K9 }( [2 }% B: H
F(i+1)=sqrt(a^2+b^2);
0 F( v z1 H) [: C1 P
theta(i+1)=atan(b/a);
7 B3 ^ w+ a* y, }; q; z3 ]
end
5 R j3 A7 p7 g$ I4 f5 H1 R4 Y
c=0;
8 F a% s2 e R, a& ^$ I( f
for i=1:5
+ ~! a' u H- I4 Q
c=c+sin(theta(i));
2 @6 [4 ]# W4 E, T: h# o% u6 K# N# e
end
7 d0 T: y$ r1 O8 ~- [0 a
d=depth-c-h;
5 O. i( z8 \% C- l0 T$ e
y1=lin;
8 X" C# v. F4 z. h' z, O
distance=0;
$ B; X. j9 U1 O$ N1 L
if num==round(L/l)
3 L. ?0 y( l8 A, r* M; w9 R# w8 t
y=l*sin(y1);
- ~. F# ]) m7 c! |% y+ @
x1=Fw/sqrt(1-(sin(y1))^2);
% b/ |$ W, q( v: Y( l6 B* i `
for i=1:num-1
6 U( v- n4 L$ p2 T* S
m=(x1*sin(y1)+i*pl*l*g)/sqrt((x1*sin(y1)+i*pl*l*g)^2+Fw^2);
! G( d6 @7 Q0 G a" n9 a& e
m=m*l;
4 [, o x6 `3 F% ^
y=y+m;
0 k+ ]8 R8 ?0 m* }6 i2 q; {
n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
( l0 M2 s$ M9 D! f6 P1 R
if j1==0
! R% m: f# Z6 `
n=eval(n);
4 |" c# V( E( J0 j8 R- {+ r0 y
else
: s; S+ t- E! L
end
* J: v1 ]" u5 \: Y4 \2 M
distance=distance+n;
# I4 M- A, a9 H R
if j1==0
) O8 g5 b0 A' p9 E+ X; D! r \/ J$ a
y=eval(y);
4 f2 t: c. ] i- P, n
else
- J. O9 A) R$ R' b; `9 H
end
8 c" S0 A* I- m4 `4 t
end
7 X! R. Q( `6 \! _7 H5 B
else
) F) S+ R# ^! u3 q! C1 ?
y=y1*l;
. k4 m2 X k! O# U; }
distance=(round(L/l)-num)*l;
2 p5 d1 y0 |1 y3 J# R- r% }
for i=1:num
/ U Q0 U! L+ C; I/ r0 ]
x1=Fw/sqrt(1-(sin(y1))^2);
$ i8 w, v" Y$ z9 r4 ]( T
m=(x1*y1+i*pl*l*g)/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
6 b7 K$ ?$ }3 Z$ `" Z- ]" ^
y=y+m;
- P7 T9 X! v2 ~6 T' T+ R7 b
n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
# i- j/ I0 n4 v. M' j* T! ]
if j1==0
9 x4 q" _" e7 |7 R( ]
y=eval(y);
- w7 y: s/ M8 `9 W
n=eval(n);
1 r! j) d9 \/ E5 t$ o8 w" c2 I% O
else
8 }3 _0 f3 q, r7 _
end
: ^3 d$ N. m- t8 J
distance=distance+n;
7 T, e: @! F' \9 A6 i& i
end
* b$ M$ @ {* t/ Y4 z0 M
end
( m0 @5 ?! o8 T5 H
m=0;
' i- Q) J# B4 b( h9 ~$ J& m3 l* a
j1=1;
" R V) }/ H" f" \
j2=j2+1;
! s+ C7 l' }0 j2 U5 p7 Y
end
& X! [ O+ B6 d: L1 P
%钢桶受到的浮力
G$ @4 [0 \2 ~$ v5 l, V2 \4 W; U
Ff1=p*g*pi*(0.3/2)^2;
+ F. F8 @" Y3 K- Z& z6 X
%钢管收到的浮力
- D% D% {$ j; F" A# X
Ff2=p*g*pi*(0.05/2)^2;
3 l6 Y4 K: L% Q* A* W
%重物球所受浮力
' W4 V/ P1 |; ]; E
Ffg=p*g*m2/pg;
. g) o% Q: N6 D% g
%重物球所受海水水流力
$ \4 y2 t- L" I! T% l
Fhg=374*pi*((m2/pg/3/4)^(1/3))^2*vh^2;
( G$ k% h. M B$ h: m% c
%风对浮标受力面的投影面积
! D: H6 {+ c+ C
S=2*(2-h);
$ p2 S+ c# _! Z- C
%风对浮标产生的力
) c2 x& J' O! _% |9 E9 j2 I
Fw=0.625*S*v^2;
8 w# a" A: R% u3 `/ ?# L$ g
%浮标在水中的体积
$ @5 Z/ t& B" u3 [2 X# _2 T
V=pi*(2/2)^2*h;
" r8 \+ w' ~! T& Q) H
%浮标所受到的浮力
( z( z% d' t# I2 P$ ?5 v
Ff=p*g*V;
8 F" r9 U( A1 v/ B W
%浮标受到海水的近似水流力
z/ p0 u% q+ m0 f) [3 z
Fb=374*2*h*vh^2;
' m4 \* |! l$ f( U$ `
%钢桶受到海水的近似水流力
% S3 X; \- p- {6 X: @2 h
Fs1=374*0.3*vh^2;
+ a. W& w3 E! m/ J$ ~( K
%钢管受到海水的水流力的近似值
' @* V) w' J7 A- ]; ?3 Y% e
Fs=374*0.05*vh^2;
" S9 L' I# Q' b2 {8 v7 P
%浮标浸没水中的高度
) B4 ? F3 J# R3 j! ~: {# f! O
if num==round(L/l)
4 X: i. Z) Y2 L( o- R3 u& `! _
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));
0 a3 U! `- P/ i' r# H: b0 U
else
5 h" ^6 X; f( ~
h=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+num*pl*l*g)/(p*g*pi);
& a# j: V1 j2 Q& [9 L
end
3 M% @+ q8 }: j8 A* z* l ]
a=Fw+Fb;
$ R7 X2 e3 g# |: ~& L# {+ y
b=-M*g+Ff+(Fw+Fb)*tan(lin);
|3 m w- |4 C' j5 _' b+ x
F(1)=sqrt(a^2+b^2);
4 }4 d- h6 I. _1 V5 r
theta(1)=atan(b/a);
3 u% L. r+ b' D( m0 S% C
n=0;
# V1 j3 I) q# x9 m: ?
for i=1:4
8 M1 \* F1 j" O- g" [3 S; E5 r& J
%钢管受到海水的水流力
# [. H3 l/ _2 w% s+ }
Fh(i)=374*0.05*sin(theta(i));
. D5 T H1 R! `
n=n+Fh(i);
) X" w! A; T/ V4 ?1 ?5 k$ w
a=Fw+Fb+n;
; D- v) `2 [/ T7 e
b=F(i)*sin(theta(i))+p*g*pi*(50*10^(-3)/2)^2-m*g;
; s& z& j4 C% {* `7 E6 T4 }
F(i+1)=sqrt(a^2+b^2);
' ~* h% |0 n o
theta(i+1)=atan(b/a);
$ i. \; z* j9 s- [
end
! z, Q8 M; {7 P
disp('输出钢管和钢桶的倾斜角度(角度制)')
P0 Z# \9 W3 P7 U# o0 {% Q5 A
th=90-theta*180/pi
' [, Z# ^+ v, @/ R
m=85*pi/180;
9 }7 Y9 J' y1 ]
if theta(5)>m
* J* |2 p8 R f4 y4 A1 X6 i
disp('钢桶的倾斜角足够小,测量准确')
{1 G/ a* F e2 k$ [$ L9 g
else
# W2 G4 L% r7 ?
disp('钢桶的倾斜角过大')
& \% X# N3 [& L( u
end
- X# T. R8 d6 Y
c=0;
3 J% @, M' k% z: ~, h) c! t
for i=1:5
( Z2 g1 L5 T# A
c=c+sin(theta(i));
7 q- T0 ^$ K# L+ N9 Y
end
9 ^3 s$ F) H6 z0 j& ]4 v
d=depth-c-h;
, H \" V0 p" c
y1=lin;
4 ~. \0 s, y/ L) E' e* i
distance=0;
+ I+ E/ @ f' F
if num==round(L/l)
H r# `3 _0 f2 A/ I# E. b7 ]( m( Z1 |* k
y=l*sin(y1);
0 X+ A3 t6 y) T, S0 H0 H
x1=Fw/sqrt(1-(sin(y1))^2);
' M! h( M) z3 y8 ?' [) d# ]
for i=1:num-1
- `3 G/ S7 m/ e, m/ I# @3 u j
m=(x1*sin(y1)+i*pl*l*g)/sqrt((x1*sin(y1)+i*pl*l*g)^2+Fw^2);
9 T8 ~0 |4 j' X% `. T. `
m=m*l;
% q& H# z8 O' l, O
y=y+m;
# L6 u- ~+ s" i# A0 u, y) `
n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
0 i U: E9 Z0 s' r# c( {' u
distance=distance+n;
i: [- y' a2 x2 d
plot(distance,y,'o')
8 \& P5 V8 a j- J* P
hold on
* P; Z% z( h* T! s. O
end
& {, w5 ?) Z S4 X
else
0 h( o4 w3 h Z# X& h8 q3 D
y=y1*l;
9 j. m+ L/ z4 r/ m: d6 E
for i=1:round(L/l)-num
, g9 g5 S2 ~) C/ \
distance=i*l;
: c7 P* h" T* ?& X x! N5 r
y=0;
/ d8 D& b6 ~* L% N4 w7 q" ]
plot(distance,y,'o')
6 Z! S3 {, E; ^1 ^- p+ z' Y# [. l
hold on
7 S/ J: U4 h1 C3 }: k
grid on
! ?3 E4 }+ F# M5 S* I0 W, Z. k
end
9 [6 f: {1 P% I1 c; ^8 k
for i=1:num
! Y$ G! h% a+ E! v! \
x1=Fw/sqrt(1-(sin(y1))^2);
& Y, {! {+ F) o
m=(x1*y1+i*pl*l*g)/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
) @8 b) q$ o: |7 E
y=y+m;
- u" C+ A( f3 g- T1 b p
n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
( @' f# T5 T! Y+ J9 _ }$ z8 w
if j1==0
; {% F2 c5 c' {. `3 A, F+ v
y=eval(y);
2 O; l% j4 x7 w* }
n=eval(n);
- l8 W3 Q( T. Q$ N1 ]! w* N
else
4 ~) D/ _/ i: ?( C) _) M2 H7 z
end
- ^+ k7 _$ `; u: X E" u; Y
distance=distance+n;
a$ j( y% M2 P6 [! b
plot(distance,y,'o')
) Y8 m# j+ ?: ]( w% q
hold on
: ~& r$ p: S3 g
end
$ G5 ?; j, `7 ~+ t% x( g
end
P/ ]! Y9 F: [9 g# t2 ^* w1 G
m=0;
# t( U1 u! N# X2 q0 m: E1 v
for i=1:5
0 r9 @- y* ]8 z" O, k' W
m=m+cos(theta(i));
% N1 e1 m* _2 a6 K. S
end
" |9 k4 d c1 g" Q f" @ I( G
%浮标的运动半径
2 M) Q) _6 }7 q- x, A
disp('输出浮标的运动半径')
0 z% y7 Y$ p: D; ^7 E5 g
ans=distance+m
+ N$ d" t( G9 A3 X
" U9 G- u$ \ d9 x6 u
, S6 k, {- V" }' k) Z
3 z/ b- k% A5 b7 s& H
; ?0 X/ i$ I' K% J( z& A- G! ?
' R" }7 b h) j% \ x7 S
8 j/ r4 ]0 p# t: [4 @+ M
- T$ H. n( i& {1 |0 X/ ]3 _$ n8 B
2018全国数学建模总结.docx
2019-4-10 11:37 上传
点击文件名下载附件
下载积分: 体力 -2 点
17.26 KB, 下载次数: 0, 下载积分: 体力 -2 点
作者:
571334077
时间:
2019-4-10 19:25
2333333333333333333333
3 A& [9 }3 q( r) ]5 W3 i( p
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5