数学建模社区-数学中国
标题:
2016数学建模国赛A题程序(原创)作者cclplus
[打印本页]
作者:
杨利霞
时间:
2019-4-10 10:54
标题:
2016数学建模国赛A题程序(原创)作者cclplus
2016数学建模国赛A题程序(原创)作者cclplus
5 X0 s; D1 v2 w
" Y& `% \ `+ {# L
; E0 M+ W1 v6 m- v9 ]
clear all;
) N! t' U+ B# W
close all;
* S. Q0 s0 q. R/ D/ Z
clc
& c+ ?: j c+ X% o. _' x" C
format long
) j' h/ t0 B( ]1 y
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;
) ]6 p j, c' f& d9 }
F=[];
: U- I& A7 N$ a
theta=[];
3 K3 Q5 ] j8 ]+ }8 G/ z
v=24; %风速
$ m* ~4 S j# h. A& K/ ~
l=105*10^(-3); %锚链每节链环的长度
5 B j$ u; f! O4 w9 x% R# ?
L=22.05; %锚链的总长度
3 M k4 k8 n0 G4 t7 ^
num=0; %通过更改不在海床上的链节数得到一个最优解
# l0 s2 w! d5 v4 t; ]& ?7 ]
num1=round(L/l);
1 A6 z- r, w9 I; E! ]
num2=0;
7 K3 i2 U. k# {$ l
lin=0/180*pi; %第一个链节与水平方向的夹角
a+ N; _7 N' t' i
lin1=90/180*pi;
$ i3 C; M2 c! q: F
lin2=0;
2 Z# m3 o1 N' z
m2=1200; %重物球质量
- I3 W: ?1 @- _+ F& F
pg=7.7*10^3; %重物球的密度(单位:kg/m^3)
4 }9 V1 N3 o0 h, P3 T2 c
depth=20; %水深
; B9 _, ^8 W; c$ o
pl=7; %锚链单位长度的质量
( V2 q4 z4 O1 X, S
vh=0; %海水流速
' Y J4 t5 J: h* ^& R
g=9.8; %可通过改变此语句来修改重力加速度,单位为m/s^2
, R p. T" n7 X7 k+ I
p=1.025*10^3; %海水密度
' w7 K9 f5 Z( }5 W
M=1000; %浮标质量
; c5 u' s0 ?' s
m=10; %钢管质量
8 T& S2 j0 z3 r" C% n8 D, @3 b
m1=100; %设备和钢桶总质量
; I% ^0 [7 b& W4 R: G6 t! k
y=0;
# g% { P# J% C; m& P& X. ^, v
d=1;
9 l M9 X |# t' ^0 O- y/ N+ {8 q4 [4 f
j1=0;
5 I( G4 K+ \$ B$ d6 ]6 q
j2=0;
: l" j' h7 b4 K* B
while(abs(y-d)>0.005)%在这里选择所需要的精度,
$ c7 _' f* a9 X
if (y>d)&&(num<round(L/l))
6 ~' [+ G) }3 c% s' ?2 A* F4 d# M
num1=num;
/ U1 n& u* G( }; S
num=round((num1+num2)/2);
* K o" D7 c" }6 Y
elseif (y<d)&&(num<round(L/l));
' l X; g' e% x- D6 s. k& _
num2=num;
- {: L" e, E a9 O7 x
num=round((num1+num2)/2);
/ }& @/ g$ K- \( |* k) L
elseif (y<d)&&(num==round(L/l))
( C1 H2 ?9 o4 |$ f. `
lin2=lin;
- y+ s2 `% W7 w1 v8 ?
lin=(lin1+lin2)/2;
`* \& q5 n; l# L: N5 c( F
elseif(y>d)&&(num==round(L/l))
* _- a+ e( X) K9 k+ L/ g0 \
lin1=lin;
) m* D9 a4 w& g1 ~( {# v
lin=(lin1+lin2)/2;
0 w% {$ |' t" b: A: B% O
end
, W' h6 a* k/ j4 `+ {
%钢桶受到的浮力
( }8 D! }( e( Q* x, d6 D! k4 ?
Ff1=p*g*pi*(0.3/2)^2;
& x" }4 r- x2 c/ M+ K
%钢管收到的浮力
: k1 W7 ^6 Y: N( E- {! F
Ff2=p*g*pi*(0.05/2)^2;
d8 z; Q$ U: a, I) Z
%重物球所受浮力
6 W O% g1 |- d. B1 L
Ffg=p*g*m2/pg;
5 f! K6 F/ t# {6 b* J2 _+ Z2 `, T
%重物球所受海水水流力
- m& Y( {2 m, r" o- Z
Fhg=374*pi*((m2/pg/3/4)^(1/3))^2*vh^2;
* c( r: t2 [+ a
%风对浮标受力面的投影面积
4 j* o# y* b. B1 _0 x* J: b
S=2*(2-h);
: J' C. ]+ i" H+ C5 [3 t6 q9 M$ M
%风对浮标产生的力
2 Z2 B1 H# z% m
Fw=0.625*S*v^2;
1 T3 o4 z, B7 f; U; e }
%浮标在水中的体积
9 K3 E! J1 ]: M$ B
V=pi*(2/2)^2*h;
. q$ K: d% c5 ]% z$ Q. P
%浮标所受到的浮力
) z1 w- a4 X) [' a0 L
Ff=p*g*V;
& J: i& z d6 O6 j5 g. T: ~8 F" V
%浮标受到海水的近似水流力
% i- [6 }& G( O) i. `
Fb=374*2*h*vh^2;
: d/ m+ c# P7 e6 {
%钢桶受到海水的近似水流力
$ y5 d8 I/ J0 W2 {/ j2 w6 f
Fs1=374*0.3*vh^2;
9 r# M" y; Y+ q. g
%钢管受到海水的水流力的近似值
~" Z H% A, m
Fs=374*0.05*vh^2;
4 A5 Z+ F) a! ?
%浮标浸没水中的高度
! C+ g! z" x+ q% F7 y( L! _! h7 [
if num==round(L/l)
1 d! \2 O9 j" U3 r
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));
" G% C# L4 l, t; Y
else
3 J( H+ {4 Z% W3 p3 C
h=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+num*pl*l*g)/(p*g*pi);
4 h, W% S5 s3 i0 h$ y/ |( Y
end
P# n, V# z% t2 G) f" v
a=Fw+Fb;
! y: d6 G6 j3 W( z: s7 d, {
b=-M*g+Ff+(Fw+Fb)*tan(lin);
9 Z1 a t$ }8 d- c" L
if j1==0
$ \& l( q. k2 |0 `
a=eval(a);
: V6 T' T* i0 p3 |9 s7 ~
b=eval(b);
4 x; O7 B5 ~+ M, e6 p9 _7 e2 o8 ^
else
8 T! H* z; F$ @$ E( `
end
- J, ]3 z! N' ~( \3 K2 E7 s
F(1)=sqrt(a^2+b^2);
" ]' v+ a, }! F% F& ^) d
theta(1)=atan(b/a);
& x+ P1 Q' V3 _& d' Q6 ~* ?7 |$ L: [
n=0;
0 Q1 D2 b9 q! w) Q4 b; k
for i=1:4
5 ^) {& j+ [# _7 a8 X# x5 d# T$ D
%钢管受到海水的水流力
8 J8 @% w! m; i2 ?0 D- z
Fh(i)=374*0.05*sin(theta(i));
+ U8 q& S: _1 D2 U, G# v
n=n+Fh(i);
( t' k, S3 ~; I4 v: v1 C
a=Fw+Fb+n;
# t* H# @1 c* d% M- |
if j1==0
; `4 S" X+ P& B
a=eval(a);
; a# D; }7 o6 {) G
else
; v; n4 h2 o( P- v
end
' v) H; |& l# u% I
b=F(i)*sin(theta(i))+p*g*pi*(50*10^(-3)/2)^2-m*g;
& ~5 _0 r; H4 g# ~- f% @( V
F(i+1)=sqrt(a^2+b^2);
& X; j. q8 R( Z& T2 `, E1 r( u
theta(i+1)=atan(b/a);
, ~3 b6 }2 W6 M/ v
end
6 P0 d+ y+ s9 }, ^7 c3 N
c=0;
4 k$ F5 X* p- a0 A
for i=1:5
8 B; M1 n" ?5 `/ u5 N& N: Z c' i
c=c+sin(theta(i));
2 z9 h# j! p4 _1 h/ f# l! h2 a
end
9 n, Q4 K$ I0 b- V: T# D
d=depth-c-h;
- c' N% ~& n; i$ j
y1=lin;
" f$ {" @1 c' A! }6 [
distance=0;
( l2 a5 d s( n2 Z
if num==round(L/l)
! c: @2 m- P! S" [- }& G
y=l*sin(y1);
# q7 {4 q& c- Q6 x" J, d! j7 D- E
x1=Fw/sqrt(1-(sin(y1))^2);
0 d( S% t) {- T5 o1 x, C7 o$ [' `) u. ?
for i=1:num-1
, J6 Z, U i o; p0 o$ D# l6 P
m=(x1*sin(y1)+i*pl*l*g)/sqrt((x1*sin(y1)+i*pl*l*g)^2+Fw^2);
9 u% p& k" k& P# j: Y; o
m=m*l;
9 h) p% c5 U7 L
y=y+m;
7 n2 j. D X( N. I5 N+ A6 p
n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
6 Q3 Y. [5 W* o& ~
if j1==0
# F; K. ]2 k8 ]- x
n=eval(n);
3 i: [, X9 {' @8 s
else
$ X% i2 A5 l6 g& E3 V9 |. b" |
end
5 k- S8 _1 ?) p2 i# R4 l
distance=distance+n;
5 h3 N+ ^ p, g8 o
if j1==0
* i8 g6 J/ d$ Y$ K
y=eval(y);
! k7 h2 g/ o6 \# ^; J
else
U7 w% ^' ]/ j# Z4 L: i
end
( f( Q, o1 ~" {! N5 w
end
K) @% I3 @* Q" E* }/ f: B5 |$ G
else
! b5 n6 z# ^1 c: I: z
y=y1*l;
# q# W' F8 t0 \" N
distance=(round(L/l)-num)*l;
6 C7 J' ]/ K$ u# o' f
for i=1:num
) y* j1 O- O p5 x
x1=Fw/sqrt(1-(sin(y1))^2);
8 h- d5 U& H8 X
m=(x1*y1+i*pl*l*g)/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
( \* F: o* c- d, N5 Z* g
y=y+m;
: w) w! B+ M! Z* Q) _
n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
- r( T5 @( ], E2 w/ R, m
if j1==0
5 t( _+ g0 }2 z9 w/ _- k5 y* ]
y=eval(y);
9 J0 ]& E. B5 x- R' \; ]6 j) X
n=eval(n);
: O% s3 x4 `4 C+ A' [( T9 {. K8 x
else
E( k- J' t& A h& Q. W; w
end
3 X3 L8 w" \' o+ d* x9 R
distance=distance+n;
8 X( e i2 w7 c/ @. ?7 O8 u' ~
end
" Y- s+ s0 I; F! w
end
: t! U$ G8 N6 `4 Q# i% E; u5 D
m=0;
2 o( t3 F0 x7 O
j1=1;
, {' ^3 x0 q# Z2 i6 R: e% f) m. M
j2=j2+1;
6 T. |2 r$ B9 ^, a: c
end
6 h% U6 l6 c3 {' B9 u" G' y
%钢桶受到的浮力
3 S$ d: O) V; b/ ^) @6 D
Ff1=p*g*pi*(0.3/2)^2;
I6 B2 k9 H0 V1 j+ p2 W( o
%钢管收到的浮力
/ u! f+ P. H( r3 z, b! Q$ b- \
Ff2=p*g*pi*(0.05/2)^2;
7 F% w1 w8 s/ ]# q Q
%重物球所受浮力
! B5 q, A" _$ s5 J& s1 @
Ffg=p*g*m2/pg;
$ K' e: D- u9 Q" a* N" A# x
%重物球所受海水水流力
, B; N4 X% ]2 z* z+ p! C: V
Fhg=374*pi*((m2/pg/3/4)^(1/3))^2*vh^2;
1 b( d: G6 m1 g1 Q* F
%风对浮标受力面的投影面积
8 T1 K3 S( l. v$ j3 O+ C8 Q
S=2*(2-h);
5 y7 e$ Z5 I1 _1 \8 M: _
%风对浮标产生的力
+ }+ T8 B. [* I
Fw=0.625*S*v^2;
' H: J$ s, H2 b2 T4 s: k5 t
%浮标在水中的体积
' u& f# k8 K- Y3 o" Y0 R, j H( ^
V=pi*(2/2)^2*h;
0 O/ @' ~4 O2 [! D9 S V
%浮标所受到的浮力
- g* [- h2 u+ S. T% k( A
Ff=p*g*V;
|, P& y( e, b, B; A& H
%浮标受到海水的近似水流力
" p' A7 @4 z3 a; o n0 z# e
Fb=374*2*h*vh^2;
, R0 W0 B' R5 } K, T: _
%钢桶受到海水的近似水流力
( e# W4 `8 b8 Z* c3 t- J
Fs1=374*0.3*vh^2;
, t9 q8 Q( W4 G X
%钢管受到海水的水流力的近似值
3 Z' E4 ?5 \/ X; ~/ m5 b4 R7 `% ~# U
Fs=374*0.05*vh^2;
. A5 Y: A: k/ l1 {
%浮标浸没水中的高度
+ L c0 [7 e, ^2 T9 e) r% J- A
if num==round(L/l)
; G' y& c. F8 ~* B
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));
) ~$ O% E g) A @) c. v
else
1 d( U } X1 r$ @* H% e6 W! F- v
h=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+num*pl*l*g)/(p*g*pi);
) W: X! f& _8 u, P, t6 B% R
end
6 P% Y' | @: g1 R( m4 X
a=Fw+Fb;
& H+ e) B' g4 Z4 q9 x
b=-M*g+Ff+(Fw+Fb)*tan(lin);
3 N- p4 U) I& C
F(1)=sqrt(a^2+b^2);
# q% e4 g9 o1 K( p! h, x- N
theta(1)=atan(b/a);
U3 f/ x$ a4 U8 h3 o/ |
n=0;
) Q, a( w4 y9 ~) J7 t5 _# j& Q% Q7 e
for i=1:4
# H; a7 T1 _2 ~5 A& A
%钢管受到海水的水流力
9 G" X! s, S# U1 `' g; R
Fh(i)=374*0.05*sin(theta(i));
. G0 m2 ]& @) P+ `/ Z6 b" Z, c
n=n+Fh(i);
5 W2 Y5 x, A' b) m6 w2 v! E
a=Fw+Fb+n;
" H+ R8 B' T5 O$ m& |
b=F(i)*sin(theta(i))+p*g*pi*(50*10^(-3)/2)^2-m*g;
7 J& h# r8 I6 b! m6 J8 b
F(i+1)=sqrt(a^2+b^2);
7 n' k" A+ S, J+ \0 n
theta(i+1)=atan(b/a);
6 O+ o' K9 o* n: ^0 Q/ j8 v
end
: A0 V6 D& y" s/ p' {% |
disp('输出钢管和钢桶的倾斜角度(角度制)')
$ m5 R: `4 w ]9 B
th=90-theta*180/pi
& W% H( E$ X9 u5 @- y& L. i# ]
m=85*pi/180;
) s0 U% y5 A( `) f. V% {$ j, y) h
if theta(5)>m
1 p8 V$ G: v. _$ @7 o/ N( z
disp('钢桶的倾斜角足够小,测量准确')
, o9 W4 Q n9 K% o/ ]# ?. } k) h2 G
else
5 P4 @" {+ t, g3 e
disp('钢桶的倾斜角过大')
Z3 ?: K0 S- V- ?
end
, ?' ^; w0 o) J& i, W5 P8 f
c=0;
) h9 K: c4 u- _* X
for i=1:5
3 d. K5 }) X. Q$ P
c=c+sin(theta(i));
( [# N0 ?1 j# y' ]5 ]
end
3 f$ a; S, O. I+ A
d=depth-c-h;
4 q) k3 P: ]3 b8 _6 E' }* L6 T3 t
y1=lin;
. z" b: w9 P) k
distance=0;
' t; \4 j! R0 g/ d. h: K
if num==round(L/l)
; ]; D( k: z" ^
y=l*sin(y1);
6 |# z9 b u7 E. ]; K$ @
x1=Fw/sqrt(1-(sin(y1))^2);
" E8 {& t. P0 k
for i=1:num-1
" C* y- B& y r; |% M# g+ X
m=(x1*sin(y1)+i*pl*l*g)/sqrt((x1*sin(y1)+i*pl*l*g)^2+Fw^2);
2 j0 w; v% o- X! \' N& _* T* M9 V
m=m*l;
9 d4 _1 ~+ A+ M" ?; @3 P( q( X: h
y=y+m;
( B! h. b8 s. G3 H
n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
& B8 d! j8 }& _" n0 S9 ?
distance=distance+n;
$ o! o) d; Q& L+ W
plot(distance,y,'o')
+ y4 f& j2 ?' W' h; K
hold on
a- B# f* L. b# s
end
# S8 b; B Y- M$ z4 e7 _- v& w
else
6 r9 [# D1 F9 z' `5 s5 }
y=y1*l;
5 y" a4 \; s3 Z3 j/ L# k
for i=1:round(L/l)-num
; D5 L- E" E: W! m& q6 G3 x$ z$ |
distance=i*l;
+ H3 \- i/ G9 U8 y+ ]- L
y=0;
/ d0 L9 d8 s% ^" e+ { d! V" s
plot(distance,y,'o')
3 Z9 y/ K' s& n. ^1 P# w
hold on
+ |% Z/ O. w+ p7 F5 U7 l9 c
grid on
% q X) n. n# _/ C$ a5 B ?# A% v
end
. W+ B7 W3 w3 ]. E% B! F
for i=1:num
' j3 _; `% ` Y+ ~9 K3 t
x1=Fw/sqrt(1-(sin(y1))^2);
+ N* _% f4 w3 \9 e7 @" z
m=(x1*y1+i*pl*l*g)/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
& ~5 [) _7 j4 o Q9 `; ?* w3 |. j
y=y+m;
" p# W1 v9 F# h9 l, Z0 ]$ \) @% T
n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
2 G) Z7 f# p9 P/ |8 |/ @) Q
if j1==0
$ K9 c. B, E1 [- ^5 a* `+ m) H
y=eval(y);
( ]4 @ {* c. z
n=eval(n);
) F& m3 h% N- N3 P( }4 {0 y
else
2 Z: ~. w* w$ ~% [
end
; r7 q% r4 o8 M+ e* F) X2 k; v# r
distance=distance+n;
& D9 n7 q9 ~0 t. ?0 ?
plot(distance,y,'o')
9 _. X4 s3 e' B8 u
hold on
) [7 D3 @8 ~$ F, K% P! h! N
end
6 e! N1 R8 g+ j- K2 w3 S! M( m* j
end
7 u- x' Q, @$ i* C- w8 Q( M
m=0;
% [/ _# x, u m. l3 F T
for i=1:5
5 r6 f0 l- K; K7 u D4 L( x
m=m+cos(theta(i));
5 `+ d3 ^% T. ?9 `
end
$ d$ ]+ J J$ Q$ n' w3 Z
%浮标的运动半径
% u) o1 G' y Q+ n3 A$ F1 k) T
disp('输出浮标的运动半径')
* X( s' l, ? n0 Z v5 |- y4 u* r
ans=distance+m
2 ?* n1 p; y! }+ w' P4 }+ W
) X+ e8 J( s, Y" F/ ], H( j
3 S* [ I0 W9 m* G2 ^; ~% o
. ?1 y% i/ [$ I! K0 a& c
4 G6 u4 R& V0 b7 d! _6 r2 H* I5 _
- w- Z: G6 h6 [9 a7 `& j
4 k/ L& I( m! f/ ]" h
2 Q) d: r0 u3 J* B& J+ A2 | G/ x
2018全国数学建模总结.docx
2019-4-10 11:37 上传
点击文件名下载附件
下载积分: 体力 -2 点
17.26 KB, 下载次数: 0, 下载积分: 体力 -2 点
作者:
571334077
时间:
2019-4-10 19:25
2333333333333333333333
+ J# M7 e) u/ j4 B3 c" x3 N- l# \
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5