数学建模社区-数学中国
标题:
2016数学建模国赛A题程序(原创)作者cclplus
[打印本页]
作者:
杨利霞
时间:
2019-4-10 10:54
标题:
2016数学建模国赛A题程序(原创)作者cclplus
2016数学建模国赛A题程序(原创)作者cclplus
) z- p/ `- Z$ H5 s0 _
$ u1 x& n' d' f2 r5 m/ L
8 A9 N2 M" d' [/ ]8 E& B0 f2 ?
clear all;
; s/ l! r" Z' [2 w/ S0 p' P5 M2 a
close all;
! t4 m9 g& u1 g b! @" X
clc
( j- l. e, p8 T g2 x" W/ I) f
format long
& R9 L* M5 Y- 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;
' J# A; I! Z2 n5 V+ n
F=[];
2 w* i' Y& c* d2 r) W
theta=[];
6 O. @0 h* H% I7 y/ J# G1 s
v=24; %风速
. c6 c" V: v/ K' \
l=105*10^(-3); %锚链每节链环的长度
q1 n9 |; j; {% r! p5 u' @( x
L=22.05; %锚链的总长度
5 s& M( @: I* A
num=0; %通过更改不在海床上的链节数得到一个最优解
: w+ f, j' }$ ^- R, `( c
num1=round(L/l);
- ?% `- j# a4 V+ M5 k) u, A2 u. ]
num2=0;
" j) X8 V# S' @- I! ^( x5 p
lin=0/180*pi; %第一个链节与水平方向的夹角
* I- {! _0 N) X6 Y. ~5 L
lin1=90/180*pi;
( l' [$ c/ T4 M! Z. Q( F' I) Q
lin2=0;
; n8 y- _+ ?, `6 n* V
m2=1200; %重物球质量
& M8 s( q( v+ p% e g: a: G/ F
pg=7.7*10^3; %重物球的密度(单位:kg/m^3)
. K4 U: V, O+ P. X
depth=20; %水深
6 C: w6 @) e3 H- ]5 l9 d9 g8 B
pl=7; %锚链单位长度的质量
$ L' }+ }* ~% T0 j
vh=0; %海水流速
! h, y, C4 J' k/ l! `# R! ~
g=9.8; %可通过改变此语句来修改重力加速度,单位为m/s^2
* g2 z9 r# v5 L8 j
p=1.025*10^3; %海水密度
; A9 @5 q" g: `; Z7 d9 ~
M=1000; %浮标质量
; \9 _* p, A6 u* u) a" D5 S0 l
m=10; %钢管质量
! q \' s* @' W; [# V
m1=100; %设备和钢桶总质量
; F4 \/ K7 Z! v* @$ M. j
y=0;
5 E' l4 ?- m! m. N7 K# n( @- f
d=1;
. x, x2 H1 n- n! c7 m
j1=0;
8 R9 u4 G: ]( O# H2 Z4 w
j2=0;
: o7 }4 R: b3 M0 b
while(abs(y-d)>0.005)%在这里选择所需要的精度,
N. e$ d* k0 R; w( O* Y- d
if (y>d)&&(num<round(L/l))
- u6 Z/ s U; L6 k
num1=num;
1 {# ]+ D5 C! A& }
num=round((num1+num2)/2);
- n E; Y4 j& {0 h$ ^; X/ z+ m1 v; b
elseif (y<d)&&(num<round(L/l));
K1 ]( z# O1 n- V
num2=num;
% W) }# n( @7 |2 B8 N @. I; }0 f
num=round((num1+num2)/2);
' y5 o y' u$ g1 E) ^8 f1 \+ K
elseif (y<d)&&(num==round(L/l))
4 X! H5 I7 x+ u2 K
lin2=lin;
) Q3 ]8 h6 {/ X2 H$ \
lin=(lin1+lin2)/2;
+ S9 _: P/ M" _" F4 I- x8 U7 g! [
elseif(y>d)&&(num==round(L/l))
+ L: |8 d' n/ E$ h$ }) c2 x* t
lin1=lin;
3 o6 w; S7 H' `5 g' c/ r
lin=(lin1+lin2)/2;
( L2 r/ Y/ I0 S ^# ^) |
end
8 b- s E" E* P! c: G2 p
%钢桶受到的浮力
( {$ ~% C# c3 c8 h, T1 _ A! f
Ff1=p*g*pi*(0.3/2)^2;
+ X$ @6 k5 F. q0 Q
%钢管收到的浮力
6 F: P- E: [; ^9 L
Ff2=p*g*pi*(0.05/2)^2;
* v4 S$ r' l) h$ F3 c- M G$ ^
%重物球所受浮力
9 t* i( r* F( ?+ w2 ?' R, j P1 x0 Z2 Q
Ffg=p*g*m2/pg;
3 Z8 l: Z4 v& V9 Q
%重物球所受海水水流力
! k- n) F5 r7 ]: g' U
Fhg=374*pi*((m2/pg/3/4)^(1/3))^2*vh^2;
' e" T& i2 S3 S
%风对浮标受力面的投影面积
0 `+ Q v" A1 t* Z. B1 p1 M
S=2*(2-h);
% k) q. D5 b3 T1 }8 Q5 Q
%风对浮标产生的力
7 a$ c! K! {) \& A3 t; x: ~0 \0 o+ k
Fw=0.625*S*v^2;
% ?% c' V. T) e/ C% o: i% w
%浮标在水中的体积
* _, r, V0 @& w5 r$ U m
V=pi*(2/2)^2*h;
, Z8 l+ u' k" Z3 r4 N3 Z
%浮标所受到的浮力
- O3 R& }& `. F* i; T( k' O* o# N7 d
Ff=p*g*V;
, k2 a+ l. P0 \, a1 w2 j+ e$ }0 q
%浮标受到海水的近似水流力
0 y! J9 X4 Z7 a
Fb=374*2*h*vh^2;
, l, `* K9 ]- a
%钢桶受到海水的近似水流力
. r+ C6 ^- j; t/ }, [
Fs1=374*0.3*vh^2;
9 _+ [* X2 Z! D
%钢管受到海水的水流力的近似值
1 ~9 U* _$ ]1 f' B
Fs=374*0.05*vh^2;
5 r' M8 A/ t7 K8 {( O
%浮标浸没水中的高度
7 n' ]5 u4 w$ ]4 M. u% y
if num==round(L/l)
# d$ \9 F/ s ^* a5 Y1 h! n4 [
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));
' ]: W1 m$ p* x! N( M ~5 `
else
5 S9 D# O5 B. }/ o& U4 ?6 r
h=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+num*pl*l*g)/(p*g*pi);
R" H7 ?5 Y- [" }& v1 G
end
8 H2 s# S8 k" V/ S
a=Fw+Fb;
0 ~' k( R0 f, k+ O* ]
b=-M*g+Ff+(Fw+Fb)*tan(lin);
$ X2 {+ b3 r! Z x
if j1==0
! Y6 J4 Y& b0 I0 `% o
a=eval(a);
' t) [' j' s0 b- O, l
b=eval(b);
3 c6 w) h# l/ z) J/ P- I5 X5 h
else
% ^' ]/ y2 I `# @4 Q
end
9 V: A, G2 j* s5 B
F(1)=sqrt(a^2+b^2);
& [, h2 M/ R+ @
theta(1)=atan(b/a);
' U1 S) ~, W# [3 G; ]
n=0;
0 b& H! {! J: o* y9 C* B7 ~ O9 `9 j* H
for i=1:4
; ?3 D. d7 F6 b
%钢管受到海水的水流力
5 D, x1 ~& d. L _0 f
Fh(i)=374*0.05*sin(theta(i));
" K) d7 b) n _* A1 u
n=n+Fh(i);
& m; G- z2 |$ G, }; p q
a=Fw+Fb+n;
: m6 w6 @( ?: w! K$ k% p' g
if j1==0
8 i% b- J# f- M; ^# l# C- x
a=eval(a);
4 K% H! |" e V. Y V% Y
else
# V5 K$ l' w' x
end
7 Z* q1 T q- r% E* J% P8 j9 z g
b=F(i)*sin(theta(i))+p*g*pi*(50*10^(-3)/2)^2-m*g;
: J5 l5 P) R( ~
F(i+1)=sqrt(a^2+b^2);
( D) q: F+ F; I$ @8 O+ M
theta(i+1)=atan(b/a);
- V: W) q8 c. J* _ a& {
end
& h+ @5 u( o- C7 [/ {: T4 T
c=0;
& `. l J, a+ ?3 V" t9 \
for i=1:5
^2 `4 a6 ^) [5 R( V
c=c+sin(theta(i));
& ~3 ^# E& [4 h) G+ z) j% M
end
. i6 @+ A. Z4 [
d=depth-c-h;
3 I1 H9 E: L" s, J% N
y1=lin;
! V4 r& U e; s( d( q
distance=0;
) Y" { z* D# p) ^0 e3 K) |3 h* _
if num==round(L/l)
% `. C Q$ L" I
y=l*sin(y1);
! S7 h& C! Q Q7 @; v9 q. L+ Q$ V1 C
x1=Fw/sqrt(1-(sin(y1))^2);
$ i1 D$ T" R+ k5 F7 E" _) `
for i=1:num-1
9 O3 U2 k" a+ I. w5 R8 N$ T
m=(x1*sin(y1)+i*pl*l*g)/sqrt((x1*sin(y1)+i*pl*l*g)^2+Fw^2);
; [/ v. m2 b6 Q2 x$ {5 e4 h8 t
m=m*l;
4 r6 j2 C7 @: G5 d8 m# k" j m! X8 v
y=y+m;
5 o; N/ ~8 D* Q7 m' x) v- @$ k
n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
$ o- p) y+ [! v
if j1==0
) t |' U' _& V2 [8 h& m* x
n=eval(n);
7 W9 \2 B0 b& r! J
else
; c1 v5 {* |8 v7 R8 N( b* b
end
. i3 X! ^ o% s; ?
distance=distance+n;
- V! e: q1 h' E
if j1==0
6 t- D( J1 \5 G& R; h: C
y=eval(y);
; r1 r' r! x" W' {9 ]: W0 \0 H
else
. o6 i. j# k: o# V- {: e4 z
end
6 \; n4 b* b/ o- l6 s7 R# S
end
/ b1 G0 ]& T) o" M# k5 ]6 e
else
, o" n* [: G2 D1 N
y=y1*l;
) S& D% \# c- c
distance=(round(L/l)-num)*l;
6 y, b9 ?: y. J0 u2 r. b
for i=1:num
( l. A# ~7 L) e2 I
x1=Fw/sqrt(1-(sin(y1))^2);
( {- n' w$ n# |) f. h" f9 |9 o& [
m=(x1*y1+i*pl*l*g)/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
* f8 M. c v9 p# d2 A. t( d
y=y+m;
+ m& H* A% q$ D4 ^( o3 B+ E
n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
; `6 E6 V* Q! D+ R9 V* ^( e
if j1==0
) o- B# v0 Q5 I6 `8 A: s) R
y=eval(y);
& U: X! j( Y, L" e
n=eval(n);
4 p0 ~' @% V- c5 g9 ]
else
" V! P5 u3 ~+ Q6 @% z
end
3 t$ j: ^/ j: c
distance=distance+n;
+ e% a9 P5 P! a8 D6 V7 p7 T& u
end
+ K b+ _+ {! q7 T4 P$ D" B* s( ?
end
+ x3 @* S0 ?" n
m=0;
8 R2 a/ B: x8 I
j1=1;
9 h8 a$ G9 ?# ?* R' ?
j2=j2+1;
6 X; z% K+ _( u1 `# t/ ^" \
end
/ w- P B8 d9 E! H E; }: s
%钢桶受到的浮力
9 Z; N( N4 [$ |5 G: @* r1 N& o; [
Ff1=p*g*pi*(0.3/2)^2;
, r% E1 y# q( v5 A( w7 P
%钢管收到的浮力
! n2 J; W6 T- b6 y1 h7 C
Ff2=p*g*pi*(0.05/2)^2;
) X4 [" H: L3 a9 m5 m6 {
%重物球所受浮力
4 Y* k7 n; \8 o( g% I
Ffg=p*g*m2/pg;
7 x6 s1 e! _1 d2 {$ w# U. w
%重物球所受海水水流力
$ i4 G+ h$ E' b( {
Fhg=374*pi*((m2/pg/3/4)^(1/3))^2*vh^2;
& q! m# H& Q0 \9 o7 o9 J& ?6 q
%风对浮标受力面的投影面积
{9 m4 Y$ [* l q! N0 `! |+ t9 }
S=2*(2-h);
0 ]4 f8 l' B- d# r
%风对浮标产生的力
$ e( T4 a* n i9 f4 r' e, C, S! ]
Fw=0.625*S*v^2;
8 w2 o- M, |* m* \! W# O
%浮标在水中的体积
5 L7 @# `, Z8 J/ Q; k7 c( a
V=pi*(2/2)^2*h;
* w, }' m0 O7 j( {
%浮标所受到的浮力
, I% E1 E% A4 E% S0 R, I0 v
Ff=p*g*V;
) B/ {2 p( O! B `
%浮标受到海水的近似水流力
/ u3 u5 `% m2 B5 s% a9 v) h
Fb=374*2*h*vh^2;
9 z9 c4 v, }# G- l3 W5 s2 ?% K% ~4 y
%钢桶受到海水的近似水流力
4 F3 @+ z7 J8 [
Fs1=374*0.3*vh^2;
. |- M, c2 Q7 {/ I* G0 N
%钢管受到海水的水流力的近似值
9 Q" L3 X! x! ~3 J6 q( K( I; y B
Fs=374*0.05*vh^2;
7 S9 {( w$ m; f" d+ U
%浮标浸没水中的高度
" ~. V! P7 }. N( k! c2 S1 ?: O! ~0 A+ h! M
if num==round(L/l)
' r+ P3 l+ g- k+ V7 Z, O$ 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));
) Q( K" k7 I+ l& y
else
1 l/ G" S; i5 w4 f
h=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+num*pl*l*g)/(p*g*pi);
6 v9 N7 p W3 Z, ]/ C! P
end
' R3 B% v5 n X) ]* z6 b
a=Fw+Fb;
: o! E; Q8 e* [; N: |9 v2 ^
b=-M*g+Ff+(Fw+Fb)*tan(lin);
+ ~) A, J# T! ?" P$ h2 \
F(1)=sqrt(a^2+b^2);
# J. \. V) c# J6 o7 F4 f
theta(1)=atan(b/a);
" [& @1 G$ y. W7 _0 s
n=0;
! _0 P" c6 V& }9 d+ i0 @7 M
for i=1:4
% b c! C: ]' ]5 `+ z7 c
%钢管受到海水的水流力
2 L- G8 ]% w0 @1 o; x3 ?8 X/ G0 _5 D
Fh(i)=374*0.05*sin(theta(i));
% v7 h. O6 Z& N2 k
n=n+Fh(i);
* D N7 r: _! j: b$ X) H: v
a=Fw+Fb+n;
4 u4 C/ L: K. k' s7 r" P$ W
b=F(i)*sin(theta(i))+p*g*pi*(50*10^(-3)/2)^2-m*g;
; P) q5 g/ V/ |0 E' O! f7 K
F(i+1)=sqrt(a^2+b^2);
- f" F) p# i8 L% J6 G
theta(i+1)=atan(b/a);
$ r* N l* d- R
end
" b4 } X9 ]# \( B( i; N0 ]
disp('输出钢管和钢桶的倾斜角度(角度制)')
6 E( U, H6 i& y4 q' ]( R
th=90-theta*180/pi
; o4 {! e; E" l/ T
m=85*pi/180;
$ s* Q9 x6 D5 _1 ]4 d5 p" Y
if theta(5)>m
- r/ B& P5 u! e+ l. G
disp('钢桶的倾斜角足够小,测量准确')
) w" Z3 S' @* X8 |" |
else
: g- B( e) l" s# `9 N
disp('钢桶的倾斜角过大')
$ L2 _* J4 J& Y2 |' @) K; d9 f# |
end
+ X* i/ X J' {% L4 I; q+ p
c=0;
3 |* P: P/ l& O3 \8 Z* G- l
for i=1:5
% r6 ~; n g% D% o: }
c=c+sin(theta(i));
& _5 A! a- J- H) B
end
) ~" Q: z! [$ \' F
d=depth-c-h;
: Z2 o" |/ }$ G/ b
y1=lin;
( F/ B0 j) H0 Y3 [- ] X
distance=0;
# a/ ~8 U% Z5 `7 c
if num==round(L/l)
6 x; {9 T% d2 C4 ` d
y=l*sin(y1);
0 L' L: ~' j. Z/ ~
x1=Fw/sqrt(1-(sin(y1))^2);
R1 W# N- _' b4 j% M) C5 T
for i=1:num-1
- U- B' S& i* Q. [# u2 W
m=(x1*sin(y1)+i*pl*l*g)/sqrt((x1*sin(y1)+i*pl*l*g)^2+Fw^2);
- X0 V. g# k: ^- W; J
m=m*l;
4 n$ |/ d: ^2 O$ }& M8 l" i* j
y=y+m;
\: H! w3 A! h
n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
+ p6 m' w! l, e6 z
distance=distance+n;
- o( H9 Z, T4 w3 @2 m4 I; v
plot(distance,y,'o')
) ~/ d/ H7 t, g
hold on
$ D2 k* g% b) Y6 |/ K
end
3 Y9 N2 k4 J# {! ?( u4 V, @3 s. L2 k
else
0 {' ?% h4 w% ?( H# D: ~
y=y1*l;
" t% ]0 N5 O: _( Z- F
for i=1:round(L/l)-num
. k, g5 f$ b! }' k# Z0 c {
distance=i*l;
. i& t. ] P" k7 W
y=0;
' i4 n, u a. _
plot(distance,y,'o')
) D; t0 v- Y: m* f [1 I
hold on
/ K8 h: ^ Y' k* i" ?# P* J" V) E
grid on
( x. O' e. j& o
end
4 }. }! r6 {8 G$ S( f$ r
for i=1:num
5 P: @/ X% u+ p" Q1 l
x1=Fw/sqrt(1-(sin(y1))^2);
; T2 x4 ~1 Q- I
m=(x1*y1+i*pl*l*g)/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
/ Y- ^. c' R( T, h3 g
y=y+m;
* m3 h$ z0 w( l: p
n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
# ^1 I: x& a h. U5 g" d+ p
if j1==0
* ~8 l, t; \& L5 Q- V8 T
y=eval(y);
9 V8 \7 H8 I3 R/ [1 j
n=eval(n);
! U9 z9 ~4 ]: `
else
0 h: ` ]) G( Y: j+ s
end
" W6 O( U+ B/ f. f
distance=distance+n;
: z/ a7 X! r1 N+ l$ D) T6 N$ l
plot(distance,y,'o')
. X! [0 d; k% S
hold on
8 r. c' p. L1 ~
end
& n1 I$ l. I d0 i; @
end
0 ]3 z S; x7 \! P- U
m=0;
" k% t F5 L T# J. O7 h9 ~0 E2 n
for i=1:5
6 }. C6 i2 K4 N" ~
m=m+cos(theta(i));
" W6 p9 i& F: _" b% q. N+ ?3 o
end
) A( K$ r% l0 o0 A/ v) w* G& L0 a: y
%浮标的运动半径
6 ?* |4 x P' P. v4 I: P1 z
disp('输出浮标的运动半径')
+ Z; o- i: O0 I! R8 Z$ d# P! X
ans=distance+m
! a' M# y: [3 t3 L- l6 E
$ w9 y8 B9 s; K& \4 o6 f v: q; Z
# o( A" T0 P. a" p4 u$ j% J
+ W5 |4 V2 b6 |7 L \
( T! M5 Y+ A9 h# D6 Z4 i
% e$ R# _: g' \- O* N6 C
2 J5 `6 C$ f! ^
7 Z! Y" N+ j: z/ D
2018全国数学建模总结.docx
2019-4-10 11:37 上传
点击文件名下载附件
下载积分: 体力 -2 点
17.26 KB, 下载次数: 0, 下载积分: 体力 -2 点
作者:
571334077
时间:
2019-4-10 19:25
2333333333333333333333
+ j% d3 Q" L( L% e3 P b
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5