QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2147|回复: 1
打印 上一主题 下一主题

[建模教程] 2016数学建模国赛A题程序(原创)作者cclplus

[复制链接]
字体大小: 正常 放大
杨利霞        

5273

主题

82

听众

17万

积分

  • TA的每日心情
    开心
    2021-8-11 17:59
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    网络挑战赛参赛者

    网络挑战赛参赛者

    自我介绍
    本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。

    群组2018美赛大象算法课程

    群组2018美赛护航培训课程

    群组2019年 数学中国站长建

    群组2019年数据分析师课程

    群组2018年大象老师国赛优

    跳转到指定楼层
    1#
    发表于 2019-4-10 10:54 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    2016数学建模国赛A题程序(原创)作者cclplus

    : ]) F7 A4 v2 S- x( k+ U5 O$ K1 J, u; B+ O' I" E5 n8 K

    # ?/ j! _. s- ?' ^/ h: ^/ ^9 f' Gclear all;6 e! R: r, v2 t
    close all;: t( x! X+ z1 O
    clc
    . J& n* Z7 c8 v5 ^) uformat long+ |7 x! }6 F' L5 C4 g
    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;
    . q6 ~: h$ D8 G8 }9 nF=[];' e: X3 T1 I7 U: u" e$ v; O( R, T/ W
    theta=[];
    9 S. P4 W4 G' Z. Fv=24; %风速3 C! w6 |* Y7 K! ~6 @# n
    l=105*10^(-3); %锚链每节链环的长度8 \+ R' R' Y1 b7 h: e- Q; j1 N
    L=22.05; %锚链的总长度
    1 G* q0 K0 k8 x; \1 h: f6 w$ u" bnum=0; %通过更改不在海床上的链节数得到一个最优解
    * @# N2 l, O+ b1 x/ @, gnum1=round(L/l);: C$ K: v0 n+ M! [+ A8 f2 e
    num2=0;
    : G5 U9 o9 I* a: w4 r1 O1 Alin=0/180*pi; %第一个链节与水平方向的夹角
    7 X$ o- D" B6 V7 O. Slin1=90/180*pi;
    ' P- ]; D2 A# s# j5 J/ r, vlin2=0;
    $ F' e/ b3 |( I+ v5 r9 t  m1 _3 Wm2=1200; %重物球质量$ w8 D$ |5 k& q" A0 t$ A) i+ [. }
    pg=7.7*10^3; %重物球的密度(单位:kg/m^3)
    " Z) K/ |/ D. U1 }% }8 ldepth=20; %水深/ [* L; j; b7 ^+ h, j- o0 W' G7 k, `
    pl=7; %锚链单位长度的质量+ z8 m; z2 k, F  X. b" w
    vh=0; %海水流速: h' T: y) D4 ]" {
    g=9.8; %可通过改变此语句来修改重力加速度,单位为m/s^2
    ! m& }0 j, A& F  p) ~" Yp=1.025*10^3; %海水密度
    6 U- A1 Q/ s0 Z; `7 K, T; ]' P% ?M=1000; %浮标质量8 M1 @: T* z, ~* y
    m=10; %钢管质量$ y/ R7 z8 n9 J& ~
    m1=100; %设备和钢桶总质量
    % a" G! `; T/ j0 f7 R9 v; a  Z: |y=0;
    ! @) y8 P2 b% E8 Y, }8 D# F+ E6 ?d=1;
    8 ]+ j/ ~4 B4 Z2 t3 Q; {j1=0;
    : b2 \/ W5 _" b4 Wj2=0;" |4 ?- I! a/ r- z
    while(abs(y-d)>0.005)%在这里选择所需要的精度,' P5 S% M- Z/ b
    if (y>d)&&(num<round(L/l))
    8 c! m* t% x' nnum1=num;& P6 T- I4 F: C& w/ V3 ~
    num=round((num1+num2)/2);
    1 m4 V) N- l- x" Z  ^& B* k( \/ belseif (y<d)&&(num<round(L/l));0 ]1 D: K  ]' ^
    num2=num;7 t3 m# C; W7 r) G$ s/ u
    num=round((num1+num2)/2);- I' X- V1 U5 K+ \0 R* E/ B0 q
    elseif (y<d)&&(num==round(L/l))) ?, O/ @1 |! H$ W, b
    lin2=lin;
    4 ?7 v( B  ?* J% o4 J' Q3 n4 Tlin=(lin1+lin2)/2;
    ) B4 i$ @3 {4 S/ D: S/ ^elseif(y>d)&&(num==round(L/l)), R4 d$ l& `! F+ z8 n
    lin1=lin;0 ]% a2 h2 b% q
    lin=(lin1+lin2)/2;
    " X6 d* k0 P$ X9 G. ^3 zend) e9 I4 O+ C! }- C$ k# ~( l% x
    %钢桶受到的浮力% q' t- S2 c7 a- n, K/ a7 @
    Ff1=p*g*pi*(0.3/2)^2;
    : w" z" t2 B5 h: O1 B6 h' o%钢管收到的浮力
    " M! n/ R. u5 C9 g$ BFf2=p*g*pi*(0.05/2)^2;
    . G7 m+ ^% d7 ^' I%重物球所受浮力
    % H5 m  I" {; D8 @# f7 FFfg=p*g*m2/pg;. ]" D( M$ X. I( ^! m
    %重物球所受海水水流力3 s" t$ B" Z) @& [( ^. Z/ c
    Fhg=374*pi*((m2/pg/3/4)^(1/3))^2*vh^2;: G. o# k* n, P  [1 D
    %风对浮标受力面的投影面积
    8 x" }7 m! ^. hS=2*(2-h);
    7 e4 ^! G1 V2 i8 N0 }% n' n%风对浮标产生的力
    . u6 M- E+ i/ O8 Y7 P' yFw=0.625*S*v^2;* ~0 ~4 J5 ]) x8 Z! v  n
    %浮标在水中的体积( j* j* y( h! ~* m' R, }
    V=pi*(2/2)^2*h;
      K+ I* m7 W  _7 |%浮标所受到的浮力
    1 |' n5 M3 h7 S, TFf=p*g*V;
    $ `$ |& x6 h- T8 o%浮标受到海水的近似水流力( r9 `! b* y8 ^) A: J$ w6 O
    Fb=374*2*h*vh^2;. u1 ~- ^: P9 a# X
    %钢桶受到海水的近似水流力# }. J; B5 h# f& p
    Fs1=374*0.3*vh^2;
    * C  n  V; j) E; K/ `5 j  A%钢管受到海水的水流力的近似值( \7 h- `1 C! v# D, D  x. I
    Fs=374*0.05*vh^2;
    , _' _( K/ ~  p! A7 u9 q%浮标浸没水中的高度
    ' @, B! X+ t' v* q! Hif num==round(L/l)1 C8 B3 h4 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));, ]/ m0 C6 b. h* {
    else
    " ~) r4 ]4 G4 j3 C% ah=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+num*pl*l*g)/(p*g*pi);$ A1 [0 b/ u2 s7 Q! e6 e( h/ H
    end4 `! a1 U) ]$ C, C" l3 T6 }7 h
    a=Fw+Fb;
    & i/ Z7 o+ j! R% b! _9 @3 Qb=-M*g+Ff+(Fw+Fb)*tan(lin);
    $ b& [1 i9 x, g" m' G& j. Wif j1==0: o5 a  ?9 a0 u# L# H. k% F
    a=eval(a);( f* v2 s# p. I( P
    b=eval(b);9 h9 @9 O  r0 H+ I- N
    else
    8 o1 f5 L/ H. A! ^1 ?% E- Jend
    ; W% k6 p3 Z' e+ F8 b# Y+ PF(1)=sqrt(a^2+b^2);
    2 G; v( }! y6 Otheta(1)=atan(b/a);
    2 h) {- `. X' W3 J9 qn=0;' O3 B( M- o% u* g% G
    for i=1:4
    / C! [/ J0 W. a; Z- S: J%钢管受到海水的水流力
    $ \9 v7 b3 b8 ^' \# M& I3 i* wFh(i)=374*0.05*sin(theta(i));
    # @% F+ O! J! Y1 Y% R0 o  w* v2 Rn=n+Fh(i);% Z* c) P3 W  P, F* ~' l( c% w
    a=Fw+Fb+n;
    6 P7 r# x% J% {% J9 Q) Y/ C+ s7 _if j1==01 Z4 i0 B! D! x/ }6 f7 c# O
    a=eval(a);
    9 D3 W$ U& ?* C) J6 d6 q( g0 V2 Relse
    : A4 a# ^$ p8 F( g  B# hend
    5 V3 {/ U  W. J3 \. I, Vb=F(i)*sin(theta(i))+p*g*pi*(50*10^(-3)/2)^2-m*g;
    % O# U: z  \+ UF(i+1)=sqrt(a^2+b^2);2 G. j9 |. U4 @: a% |7 n. x
    theta(i+1)=atan(b/a);
    - L3 W3 G/ P4 d" o: h. Q7 |. `3 Rend
    8 L' s/ w' l2 Z; l! O8 E# mc=0;
    8 o" A( m+ Q+ g: X8 Y% [! vfor i=1:5
    4 d' |: w: q/ Dc=c+sin(theta(i));
    4 [: m+ \/ x1 ]$ |1 c! H& y5 _! Send
    2 K0 O5 _8 K  A9 |d=depth-c-h;
    * ]$ j" j% ?& o5 H6 d0 Yy1=lin;
    ; b9 n6 ~) Y6 m8 R8 x% o, z9 o* \  Ldistance=0;
    4 }: [+ g. S* l* y6 w& x' yif num==round(L/l)
    . {1 L; w' N, m6 g1 A' M: Hy=l*sin(y1);* T# w, g" Q5 P) G$ a: n
    x1=Fw/sqrt(1-(sin(y1))^2);
    & k0 F4 t9 M* @! S+ i' A0 @+ i8 Wfor i=1:num-1
    ; C5 A; k, U) T# n. e5 Q% Fm=(x1*sin(y1)+i*pl*l*g)/sqrt((x1*sin(y1)+i*pl*l*g)^2+Fw^2);. T* I- i. H! ~' X6 U7 ~6 t; m
    m=m*l;$ P% ~$ u; x7 o0 H
    y=y+m;9 |* y3 a# v% F. q+ L! M. x5 U2 g
    n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;% X3 B" z" x  X- b5 ~- [
    if j1==0
    " @; I4 N8 |- w* G5 M* cn=eval(n);
    4 W. K' x* G( [1 T- J  s( Felse6 s2 y) F% [9 {9 b# N
    end
    7 g$ F- ?0 Q" V, F  n6 e9 Cdistance=distance+n;
    % k$ |2 r& N  |  Fif j1==0
    : p* t- b  l" ~y=eval(y);
    / o) I3 g; C( p: Q# @7 |/ z& Gelse
    - m- |) `( b0 Q; Y; rend) r( Q* T9 E# q- G" F
    end
    # P3 S% K- m- |7 ?# t# M! A4 uelse
    0 s' D  C' a, W2 a" z* Uy=y1*l;
    , g, j  W. K7 w* H! W; z3 Vdistance=(round(L/l)-num)*l;- ^5 E2 H, U3 x) |
    for i=1:num2 g6 ]* ~9 l. r
    x1=Fw/sqrt(1-(sin(y1))^2);# ]3 Q# C# p# |' @/ g8 ?
    m=(x1*y1+i*pl*l*g)/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;- c& ^% {2 [3 }6 O1 C7 n9 R7 X
    y=y+m; 6 h  \7 ^) N! E1 m; ?. Y
    n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;: k  S+ w/ r0 }1 T. p
    if j1==05 R0 n" v) p5 [6 w. {+ R* R" D
    y=eval(y);1 N4 f% n: Y! {& r
    n=eval(n);. e9 t2 |$ A, {% _! v1 _
    else
    ( o' @# R0 x1 k2 A$ Send9 k$ `0 M0 ]& n% K! ~3 F; q7 I
    distance=distance+n;
    + u. f7 X* U: Aend9 A1 y/ `& H, c3 P
    end2 v: r4 m& n) E
    m=0;9 f( T' P( L, ^6 }+ U) h
    j1=1;2 l6 O/ d% i6 N# d1 R4 _+ m4 \
    j2=j2+1;* o3 R7 `% ^) _6 g1 ~: u5 }
    end
    6 V. X# b# A& C7 ~%钢桶受到的浮力) I; T0 H( D% M- h( C* {
    Ff1=p*g*pi*(0.3/2)^2;
    5 b5 `* {$ ~5 r%钢管收到的浮力8 J, O" w' Y4 p' P* E
    Ff2=p*g*pi*(0.05/2)^2;/ q1 N# l( P, {9 M* A4 f" [0 q
    %重物球所受浮力
      P9 j; T4 m- yFfg=p*g*m2/pg;( {; _3 |; n4 N; Y
    %重物球所受海水水流力
    , P! X7 }* t8 A* I+ [5 J6 s1 UFhg=374*pi*((m2/pg/3/4)^(1/3))^2*vh^2;0 l, E4 r5 f) v; B
    %风对浮标受力面的投影面积* ?4 @! @$ u; P$ D, c' k! g. S
    S=2*(2-h);
    . ^. i$ ?# s+ u) V; k%风对浮标产生的力4 L; j9 [3 d( T
    Fw=0.625*S*v^2;0 N/ l" P- p3 F* ^' \
    %浮标在水中的体积
    ( [& c0 }( v! N2 I: J4 z* zV=pi*(2/2)^2*h;
      w2 v% C6 a. n5 i: @%浮标所受到的浮力- y* t/ ?: N7 e/ _3 Z
    Ff=p*g*V;* C$ d+ i7 [, J% G: u) E$ E
    %浮标受到海水的近似水流力
    ; k4 a8 G; L' r0 z8 OFb=374*2*h*vh^2;
    / H- `2 N" I/ R%钢桶受到海水的近似水流力; c, @) Q* K8 z. d+ B# [
    Fs1=374*0.3*vh^2;8 O2 E8 @& \% D; c* j5 e" r: U
    %钢管受到海水的水流力的近似值
    7 P- x- n# H4 m5 z% _+ a$ yFs=374*0.05*vh^2;
    2 n9 V# ^0 E: L, _) m%浮标浸没水中的高度
    ; b- i: g; C4 E, i5 y9 Hif num==round(L/l)
    2 Q& V( i& y) N0 \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));
    5 m  p2 x, Q& T$ {/ F9 helse
    4 o' ?+ L4 w# \# L. r4 Zh=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+num*pl*l*g)/(p*g*pi);% i4 |! m0 i0 J" c
    end
    0 G: y: S0 k0 R$ O0 A7 I, ~a=Fw+Fb;4 F" d% m9 \5 d
    b=-M*g+Ff+(Fw+Fb)*tan(lin);% E! X3 h- ^1 T/ ^
    F(1)=sqrt(a^2+b^2);
    / f% y& H& S) S0 s, U( ^theta(1)=atan(b/a);" y2 J( w& V7 u' c9 j
    n=0;$ m* U& U, @4 V  k( p0 z
    for i=1:4
    0 H; H3 }+ ?2 z& }%钢管受到海水的水流力
    1 n, V* m2 N2 Y# b" j2 o, N& JFh(i)=374*0.05*sin(theta(i));. d+ O/ p5 |$ P5 S/ F
    n=n+Fh(i);
    / A( u$ f4 J7 W# o6 Ra=Fw+Fb+n;
    3 e* d. M3 ?$ t) ~, H( A; u: X' Xb=F(i)*sin(theta(i))+p*g*pi*(50*10^(-3)/2)^2-m*g;
    1 y. h0 i6 ]+ f9 G* xF(i+1)=sqrt(a^2+b^2);
    7 N0 o# G( P& _theta(i+1)=atan(b/a);8 Q* r+ h5 t, Z+ U$ [
    end
    # _7 R# u: d4 \' l& v$ G; n9 I( Bdisp('输出钢管和钢桶的倾斜角度(角度制)')% R. v5 q4 v8 x9 N8 z) W6 k5 Q
    th=90-theta*180/pi
    ; U) B9 N! ^: D2 t) V+ f) T, r% ym=85*pi/180;" N+ `' ~+ z" a8 F  |
    if theta(5)>m2 Z2 E: Q6 O+ `) _
    disp('钢桶的倾斜角足够小,测量准确')  R# h( _, M& y3 q
    else ' M# V: }* k2 Z9 V% X* K
    disp('钢桶的倾斜角过大')& c) Z  w2 A$ ~3 U
    end7 I; H  f1 b) s6 }( ~: p
    c=0;
    2 f) e! i/ E7 K+ C0 |2 s2 Qfor i=1:5
    7 _& K/ @0 o  k/ Oc=c+sin(theta(i));: c6 Y& B) s6 C2 C9 a1 @' `
    end+ k" _+ X, F4 C$ h
    d=depth-c-h;
    ) d1 q  p& u" A2 `, U2 Z& ^y1=lin;
    / ], Y: Y3 e6 x  Kdistance=0;
    2 F$ o2 i; ^' I- C  n8 X8 pif num==round(L/l)
    5 Q1 Z. r) W4 r8 o: `y=l*sin(y1);
    ( Q1 ]6 W; H/ o# F+ l& T1 R4 bx1=Fw/sqrt(1-(sin(y1))^2);0 i% O" ^( E2 ]. B/ B4 v* t
    for i=1:num-1
    # C' C5 j# M, m) S5 g6 ?8 Im=(x1*sin(y1)+i*pl*l*g)/sqrt((x1*sin(y1)+i*pl*l*g)^2+Fw^2);
    3 F6 J0 @* \- ~4 \m=m*l;) m' _/ w; K$ S9 b0 g
    y=y+m;8 O+ Q4 ~5 c) \
    n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
    / v/ j" N, _# e( x( Ddistance=distance+n;
    ; P6 o& s7 h! z$ {1 J6 Fplot(distance,y,'o')* l  Q  U; F  ]3 I0 y8 b
    hold on
    * I& f6 u, v3 Z0 r. p  Iend
    + M1 r$ u) A; ?+ i7 O! d- F$ Uelse- J- w, e+ P# _# b. ]
    y=y1*l;/ J% N7 ]. w! N1 L3 F9 a
    for i=1:round(L/l)-num- L5 p/ j! b% }! X5 `4 b
    distance=i*l;
    8 P4 [9 V; D' c/ h& D6 l4 Z$ Hy=0;
    / w- H8 _9 M) ^7 t- B- F. Aplot(distance,y,'o')  X/ p3 ^, B2 y& d$ {
    hold on
    6 c, K# u, X4 u! f5 C' }grid on) E2 c- d& L! \# J2 F4 Q+ l; y
    end
    1 h. {* J3 F  k; [5 `+ K" bfor i=1:num
    5 g, [, i( ]" N# Zx1=Fw/sqrt(1-(sin(y1))^2);
    8 l" I* m% h. r5 G1 n6 b+ S- Gm=(x1*y1+i*pl*l*g)/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
    , {" k2 a/ M+ K  @  d& o$ \y=y+m;
    4 V$ Z" H* f- `n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;! t6 b5 B5 l2 u' `, k
    if j1==0* H$ K+ {3 C' ^1 A. ~) F5 i
    y=eval(y);
    1 W: a9 z. n. ~7 ^+ q/ z8 _1 Dn=eval(n);
    ' j# _1 ]* N& ^else
    7 M+ w2 C% w, t( J8 zend7 F  a5 \8 M& V5 R( C
    distance=distance+n;# e$ }7 x3 x; @( f
    plot(distance,y,'o')* P5 a; d4 f, K2 ^/ V) b/ v7 p
    hold on5 e  Y% @& C$ b' ~2 n& o5 _$ ]
    end
    1 k4 S3 u8 W8 j1 A/ Hend
    $ \0 V' `! E9 Dm=0;) `: ^- v& G! j7 ?! h
    for i=1:5+ _8 F2 M9 c( b+ m9 L* T1 g
    m=m+cos(theta(i));
    , Z7 s/ V1 D) G; [( d2 jend! v7 n, m# {6 }$ N8 t3 u
    %浮标的运动半径
    0 H' z. {' ~! W/ F4 {# J  fdisp('输出浮标的运动半径')! V+ }" Z8 v2 ^5 r. |& b
    ans=distance+m
    : Y6 x" x: r4 H$ A2 N* n' ?( l
    0 M6 i% {# B, p$ D- O$ C& d, P: B9 _/ }; u5 w& i

    ( C' j. I7 O) ]3 ]" M$ n6 g# @- k+ E4 }, k; Z: C$ Y% Y

    # i7 G. T' q) s
    & q0 v. M. t2 O; C* e4 C6 _, [( K( A8 {" Z! @7 G. D0 `) i, m

    2018全国数学建模总结.docx

    17.26 KB, 下载次数: 0, 下载积分: 体力 -2 点

    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    571334077        

    0

    主题

    3

    听众

    63

    积分

    升级  61.05%

  • TA的每日心情
    无聊
    2019-7-19 21:24
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    网络挑战赛参赛者

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-4-21 14:45 , Processed in 0.467985 second(s), 58 queries .

    回顶部