QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2141|回复: 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

    8 n7 H  t# K2 }( I9 }$ J9 H# {2 n. r: |# u3 N1 o* d. s1 h

    ! @, U$ }5 X' M% C$ Tclear all;1 Y& S7 L4 \: _) L5 h
    close all;
    % a2 R2 B7 Y" p. \clc
    ) a8 b: C+ ^& S* g5 J  mformat long+ O0 f# K  U/ F" 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;
    ! Y  Q" i6 \$ u+ X& y# a# P6 r9 KF=[];' `" T9 @0 M; \, {% e7 N
    theta=[]; $ N7 t2 g* }9 R/ ]2 D! B# D
    v=24; %风速
    / A4 E& y/ D5 ^& il=105*10^(-3); %锚链每节链环的长度
    2 A" v4 B/ ?9 ?L=22.05; %锚链的总长度+ ]! A- u2 T+ U+ r$ l" Z
    num=0; %通过更改不在海床上的链节数得到一个最优解# }( H4 W+ L6 k. g1 R9 V0 ?) v
    num1=round(L/l);
    , ?. Y$ V! f) s& r# A2 G' S* }# Wnum2=0;
    ! M# Y; b  x3 z' Q) Slin=0/180*pi; %第一个链节与水平方向的夹角! q1 H& D2 \5 ~9 p3 h
    lin1=90/180*pi;8 j* Y% a! P; b5 u1 @. e0 y% N, {
    lin2=0;
    + S" \: l8 \! W) H/ J$ @5 rm2=1200; %重物球质量! X% k& N- j% L/ R* K0 J( W
    pg=7.7*10^3; %重物球的密度(单位:kg/m^3)
    3 ~8 @2 Z0 L7 i& ^' Ndepth=20; %水深
    8 w0 l1 ~; b6 \7 h( ~pl=7; %锚链单位长度的质量3 E. b+ I; J1 Y3 r0 p+ m
    vh=0; %海水流速
    4 w# F: C8 ]+ z; c% }) G/ fg=9.8; %可通过改变此语句来修改重力加速度,单位为m/s^2  K" W- s$ f! C8 r& A7 u5 d4 [/ U
    p=1.025*10^3; %海水密度* T" i9 l* R# ~5 _. g! s
    M=1000; %浮标质量2 L( }/ Q7 {% ^2 [2 G
    m=10; %钢管质量9 ]! r. z2 R5 a
    m1=100; %设备和钢桶总质量) h4 P& A" U/ ~5 j, v  \
    y=0;
    9 d4 N; B( m" r: Ld=1;
    " x# L8 c( ]$ X! k2 h+ r: Zj1=0;
    9 Z0 Q4 R  U4 F, Nj2=0;
    ! o) n' P5 j# U) j; twhile(abs(y-d)>0.005)%在这里选择所需要的精度,
    # e$ h* X8 L% t* L4 o# s/ Zif (y>d)&&(num<round(L/l))9 }3 L3 H0 `; ?
    num1=num;0 m5 |$ i3 Y. j/ W
    num=round((num1+num2)/2);
    / V: j. l4 \( n8 l9 N3 V/ D3 lelseif (y<d)&&(num<round(L/l));! Q  C! X$ k3 I7 P) y8 g
    num2=num;! X: I; K% q2 |$ w$ f
    num=round((num1+num2)/2);
    . V  `2 H  [7 E! A. t, W% kelseif (y<d)&&(num==round(L/l))# b& u: k/ q1 }- Z! X+ `4 v' U
    lin2=lin;( g4 @3 `! O( C; `3 S# H/ T
    lin=(lin1+lin2)/2;
    ! O+ B3 k' @! W2 b) o1 Kelseif(y>d)&&(num==round(L/l))
    - ?& Z5 G2 H: c6 Z* O) S* glin1=lin;
    ) p( g5 g0 e. e7 ]3 @; |lin=(lin1+lin2)/2;
    1 \/ f) `' p  m, S* Mend/ U* ^' I/ n; f) _  [( I
    %钢桶受到的浮力
      I8 T- t* L3 K5 t! _Ff1=p*g*pi*(0.3/2)^2;* X6 f& g8 ]0 W3 Y. A* V2 F
    %钢管收到的浮力
    : H0 I! g7 g/ y7 ]* Q5 zFf2=p*g*pi*(0.05/2)^2;6 Z) b% L2 }: ~
    %重物球所受浮力
    7 c4 Y# }0 r0 e$ I8 w. _) nFfg=p*g*m2/pg;: M) {2 |! A& I6 K9 w5 z" E9 ]6 }
    %重物球所受海水水流力2 Q) R0 ]; H9 z1 T: p
    Fhg=374*pi*((m2/pg/3/4)^(1/3))^2*vh^2;* f9 K+ Z3 N! _% ^
    %风对浮标受力面的投影面积% }$ w1 G- i# w* m
    S=2*(2-h);
    ! `6 L, s. l% m0 Y+ w" P%风对浮标产生的力
    # u% t: n/ a9 F! L, w5 RFw=0.625*S*v^2;  a4 t/ p8 C! r% E) l' t
    %浮标在水中的体积
    ) T6 |: G+ E8 K1 c: ZV=pi*(2/2)^2*h;
    5 a/ r+ I- f/ }& t8 {%浮标所受到的浮力
    8 T  S9 J! ?. J+ x7 B3 zFf=p*g*V;; ]0 {9 c- {# m' ~9 d
    %浮标受到海水的近似水流力# c; L: Z# r: I# d4 r
    Fb=374*2*h*vh^2;- j2 L( `' t3 \
    %钢桶受到海水的近似水流力
    & a* P; a" ^, P' N- M8 B% EFs1=374*0.3*vh^2;
    5 }3 O# F1 L: ^%钢管受到海水的水流力的近似值) E% h* t+ K" b. y1 Z
    Fs=374*0.05*vh^2;; ~% J- U' X+ N6 h
    %浮标浸没水中的高度" F9 ]7 o$ t0 @$ t6 C
    if num==round(L/l)
    ! N$ O8 H/ t% K1 Y  _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));
    9 e3 \0 P4 |6 r1 S9 |6 Y: Jelse * n! M' W5 b: \! M9 `3 U& f- O$ w9 t
    h=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+num*pl*l*g)/(p*g*pi);( z* n3 d5 O2 T* I2 F. _
    end2 F3 S* M/ L* Z2 e6 |& G
    a=Fw+Fb;0 f0 d  Y7 `' D+ v, H) C$ c' |9 q. o
    b=-M*g+Ff+(Fw+Fb)*tan(lin);4 X5 z# o; U# s2 K8 _" u* m
    if j1==0$ h) k( L. M, b# g0 Z6 B& O$ |
    a=eval(a);9 b. o: I" `) p  M+ {
    b=eval(b);
    0 }7 w) h9 n; z! K5 B; B% O' Delse
    & r+ |: R7 N6 Z# I" @end
    3 J$ E. T' {, w) C7 D7 r1 jF(1)=sqrt(a^2+b^2);6 J# _4 D' K' I. k2 j! m, I9 [; L
    theta(1)=atan(b/a);0 I+ O/ t. B0 h
    n=0;% k  o% k5 V7 A6 L
    for i=1:4
    " T9 y. W" r( d3 k- l, U0 G9 R, F%钢管受到海水的水流力
    . i9 v& p: k! M* NFh(i)=374*0.05*sin(theta(i));
    ( r* |! Y0 ~, A& Vn=n+Fh(i);4 T, ?1 n# {; i  X: \( X
    a=Fw+Fb+n;
    5 G* j! B8 Q2 F0 E) j0 }2 ]if j1==0
    % U" Z9 r6 c- m# e5 N% oa=eval(a);2 I& C, U7 z2 Z: T' j- f# M
    else
      [9 L) m! i7 q2 G, Pend
    ) ]3 y+ F* q; O+ F$ @5 H' tb=F(i)*sin(theta(i))+p*g*pi*(50*10^(-3)/2)^2-m*g;
    9 H/ R. h  N4 B5 l+ r  sF(i+1)=sqrt(a^2+b^2);
    6 _3 x& K9 M( c6 C0 f$ Q' q6 R9 ktheta(i+1)=atan(b/a);
    2 L$ |3 k7 T" @# Z0 Aend8 b# l( K: |5 |' g$ X$ f. P1 u
    c=0;/ _7 a7 Z/ ^) \4 q& H# Q
    for i=1:5" _: t; |2 ^6 s) x/ e
    c=c+sin(theta(i));
    / p  d, I4 B; i/ Vend5 J, @1 w+ |. v
    d=depth-c-h;
    " I1 [2 N5 j* p/ R* t+ V6 R: qy1=lin;% R' r7 j' E2 n  o5 C3 H( L# x: @
    distance=0;$ ^  u2 @% C8 k. _
    if num==round(L/l)
      f' x8 ]' S& Z! |  Y% Y% Z* X. k% uy=l*sin(y1);- R) X2 a4 y6 N1 j
    x1=Fw/sqrt(1-(sin(y1))^2);
    2 K: R5 ^& j( B2 u  u& p) Jfor i=1:num-1% k5 ^$ V; [1 X1 ^& g
    m=(x1*sin(y1)+i*pl*l*g)/sqrt((x1*sin(y1)+i*pl*l*g)^2+Fw^2);
    * L: _4 J9 k; [m=m*l;6 _  P* I, R: W- T% ~* R# r
    y=y+m;4 ^: R. p3 a9 t
    n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
    % r: [! L: n& y0 S+ Sif j1==0
    ; X5 ]7 o& R; D, x& `n=eval(n);1 ^; X2 Y  X+ X/ a( G" q
    else
    8 I# l. ~: m( k6 r9 Xend
    . g3 f( U6 c2 P$ wdistance=distance+n;
    & m5 m: t8 q3 aif j1==0
    4 Q& t  p2 V( Gy=eval(y);
    & x3 F: z0 n- S+ c# ^3 eelse( V! j" _+ x; g# _  u, d" ?
    end+ Y9 S: W1 U, x$ C  F4 m, j
    end
    # ~( L, l6 L$ d  q" G' z' _else
    % e3 p, F+ c9 c4 sy=y1*l;
    1 ?" Z" a4 b# W/ a9 H! N- R! Rdistance=(round(L/l)-num)*l;
    8 Q/ m2 m& Y- C) vfor i=1:num+ e) Z# G7 p+ O- h9 i: F: I
    x1=Fw/sqrt(1-(sin(y1))^2);# k% B# N0 t$ F( j
    m=(x1*y1+i*pl*l*g)/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;8 S5 c' n# M3 B: v+ u
    y=y+m; ! S) t7 W1 {" P! E3 v
    n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
    7 ], W0 s/ q* ~' I( V' aif j1==06 b6 }& x6 M- Y! b
    y=eval(y);
    $ o: n& H' ~8 X8 z- O% |2 En=eval(n);
    , x  g; ]; L; e8 I6 oelse
    ( c5 Y; `6 {) Z, v7 iend
      j1 P% G8 p6 u5 n: O0 m/ [9 E  Xdistance=distance+n;; L" e) T& \: L8 V! w, c9 s5 f1 b- Q/ K7 g
    end
    , V7 {$ B8 V' H: Eend' c4 }* |. y/ R
    m=0;& w7 \, U" l, {0 x' S# z
    j1=1;( K( N2 C; m3 [; t
    j2=j2+1;
    2 D. q6 j" Q- S# N- c( k" V6 S* mend/ K3 u/ P4 M5 l( w) h# B) O
    %钢桶受到的浮力
    7 o  i2 Q: t4 b+ O5 i4 NFf1=p*g*pi*(0.3/2)^2;
    ' d1 Q5 W* ~" u" Q2 [%钢管收到的浮力
    ( K, W* v8 y- N; h' d+ q" x4 l+ S5 [Ff2=p*g*pi*(0.05/2)^2;6 G' G) i. U, m7 p* H- J: k& K2 t. n
    %重物球所受浮力
    5 D1 Y" X; D8 h  e$ Q1 TFfg=p*g*m2/pg;7 g+ {* n$ Y( C- j* Z
    %重物球所受海水水流力
    4 m: }1 I' J5 P6 j! U/ f4 A5 mFhg=374*pi*((m2/pg/3/4)^(1/3))^2*vh^2;
    . |2 W/ T4 A8 S  i, O%风对浮标受力面的投影面积4 }+ `/ d! [0 n% O) L; f3 d
    S=2*(2-h);+ u# t' {, c0 d% m6 A$ L
    %风对浮标产生的力; V' M2 Q* X! c4 z3 t! ~
    Fw=0.625*S*v^2;1 p( Q. Z$ I- {& l. y4 K( t
    %浮标在水中的体积
    & }: h8 b& d9 tV=pi*(2/2)^2*h;
      x2 R$ H' o' i6 k9 E%浮标所受到的浮力
    $ D' S4 ?4 K" p/ T2 OFf=p*g*V;
    ; }$ U3 d5 v; z8 f3 F%浮标受到海水的近似水流力& ?* P" z; W) Q! [6 b' p3 l
    Fb=374*2*h*vh^2;( O5 v6 [) `  P8 H9 o
    %钢桶受到海水的近似水流力
    9 E# \0 s* B( z& ?" T& dFs1=374*0.3*vh^2;
    & s% x. ~$ F+ t; O0 e) ~6 ?' u: n%钢管受到海水的水流力的近似值& q- P0 k: f6 Y9 N( C
    Fs=374*0.05*vh^2;
    * U) e5 P: \+ g" e% c0 `%浮标浸没水中的高度/ O2 Z$ A5 |# \4 y: [
    if num==round(L/l)
    ; ?- z. z: f) Q# U% q9 Rh=(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));2 Y% A$ |/ ^- b+ ?
    else , [# A4 p! c3 I" }$ @9 T" y
    h=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+num*pl*l*g)/(p*g*pi);
    4 v5 I9 m& y3 d  s  `: d6 {end
    " \+ r) Y- ]5 d0 i  _a=Fw+Fb;6 q- o; d, ]: M( A8 m, U* k
    b=-M*g+Ff+(Fw+Fb)*tan(lin);+ s3 Y1 z& B* l8 A4 B" i
    F(1)=sqrt(a^2+b^2);
    ' \0 `" [* }8 w$ L2 C6 ?$ ?; xtheta(1)=atan(b/a);
    6 }' S/ B  {5 ?3 x9 a: Yn=0;
    3 I/ Y) S* w' C. B. E; [2 q# ufor i=1:4' y/ i( f0 K% b" M$ P
    %钢管受到海水的水流力
      d2 w; p" q( k' I. C: VFh(i)=374*0.05*sin(theta(i));
    1 S* R$ ^& [7 ]! v+ Wn=n+Fh(i);
    . c: C7 v  _6 b; Sa=Fw+Fb+n;, ?3 m8 \# S, u7 S) n/ l% M
    b=F(i)*sin(theta(i))+p*g*pi*(50*10^(-3)/2)^2-m*g;
    & A' P( F2 K$ r) ?4 p+ VF(i+1)=sqrt(a^2+b^2);
    # M0 o7 m0 r" utheta(i+1)=atan(b/a);
    4 _; o3 e" v6 jend9 ^; Y  v; t+ `' }
    disp('输出钢管和钢桶的倾斜角度(角度制)')# v: I/ t5 U2 |/ `
    th=90-theta*180/pi  ^% }) o4 \2 A% p  P9 X9 \3 C
    m=85*pi/180;* n5 J9 G. b. F5 ?
    if theta(5)>m+ k2 g7 C- O+ Y# D
    disp('钢桶的倾斜角足够小,测量准确')
    7 u" E/ A5 p* x1 W) h% Z. }1 eelse
    ) }; o0 Y) O9 w0 ?& ddisp('钢桶的倾斜角过大')
    2 M! v3 a9 _9 f7 pend
    7 t9 K. Q5 R  O* t; _4 @c=0;
    : K3 S+ ^% D. L$ H% wfor i=1:51 s+ R3 L8 S6 _9 ]! N2 ^! E' ?
    c=c+sin(theta(i));  {5 R) R1 Z; L( p
    end
    + ~0 V) Q( q  W$ Id=depth-c-h;
    ; V! c2 R) X! H. R, W3 T( G( ay1=lin;
    5 D1 q: X0 H2 c3 \3 P  _distance=0;/ c5 J* c" [+ \; ^+ G7 o
    if num==round(L/l)
      Q# @7 N: q$ \0 i9 l/ I3 x6 n2 Gy=l*sin(y1);
    ( E6 I6 K5 I: N$ k% px1=Fw/sqrt(1-(sin(y1))^2);
    4 ]% o- _/ Q3 l: ]( h% ]! \( K8 F' Z1 v9 |for i=1:num-19 ]5 K, _' v8 W+ K
    m=(x1*sin(y1)+i*pl*l*g)/sqrt((x1*sin(y1)+i*pl*l*g)^2+Fw^2);8 i+ A$ k) J5 a9 S) E0 D$ f. W$ A
    m=m*l;
    3 Y! U7 G" \5 ty=y+m;4 a6 n& ]' B5 u/ L1 ?1 J" d
    n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;7 ^  T8 V- G' K/ c# J
    distance=distance+n;' p( X. V6 ]2 K8 {. v0 g
    plot(distance,y,'o')+ X' r$ \/ o; N- V9 a
    hold on
    , i$ b' p1 O/ C; Jend0 P1 H, O$ n2 ]# X4 V
    else
    0 d2 I7 `) [  v! _0 B- Dy=y1*l;
    & y$ z  L( p& j3 Dfor i=1:round(L/l)-num
    $ r7 _' P5 [) a  t3 idistance=i*l;6 K6 j3 S* @" r- H
    y=0;3 a3 j4 O" A% S3 ^: Q
    plot(distance,y,'o')+ |# b0 F( M3 |) o3 R
    hold on. G2 F4 Y7 f/ l4 d6 Q
    grid on
    : H6 U0 W) N( Z% j' ^end7 }- v0 d# C$ a5 u* Z& m9 |
    for i=1:num
    % O+ V3 Y2 y' a  n% Z0 Ax1=Fw/sqrt(1-(sin(y1))^2);3 g& `  x6 R$ t& C$ t! A
    m=(x1*y1+i*pl*l*g)/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
    * a7 V2 u6 B$ [3 I7 P6 I9 H; Sy=y+m;
    ! K. Q- b1 w  f, U2 F7 w, `  P! `  hn=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;8 \6 e/ Z8 {. P
    if j1==0
    ! \2 ~5 Q3 Q" w) E6 U6 Qy=eval(y);
    # {$ [* M! E: a' o2 vn=eval(n);! B0 h8 n8 k, E9 z; K
    else. j3 c5 J5 g5 A2 l* U- }! c  t" t
    end' h' u, D- l( z4 Y$ B4 Y6 T4 `
    distance=distance+n;
    ' M! a  {4 P  ?6 O6 L( G0 z9 c! Oplot(distance,y,'o')
    ' I3 \! J% M( q7 C. ghold on
    " b* e: f$ ?- B: ]/ A/ l3 Aend
    4 y' ~/ ~% b" D( Rend0 Z6 i+ _. N6 f# C5 H
    m=0;
    : Y7 M' K2 R  d7 o4 l. Rfor i=1:5
    6 Z: Q! c$ ]6 i- F2 D+ Am=m+cos(theta(i));6 V1 R1 o' {" w' E6 F" g
    end+ H! k3 r4 ~( H$ P4 ?
    %浮标的运动半径
    / Z- T/ F4 C4 y- jdisp('输出浮标的运动半径')
    ! L3 K- [$ t5 \2 D& Z1 T$ ians=distance+m. u1 J$ J0 w5 D6 E! O

    - m. Z- i# W. e* C  Q: l
    : ^4 N& M; D* N- c2 t% M. {6 a0 A8 o2 {/ y" o4 g
    ( F8 t6 `, R& w* }& b2 l" Q1 k/ s
    ' M) y& g/ W" a
    2 |% p& h: w- c9 Q1 c, w5 r
    : v% T' \7 z2 X) A3 q

    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-12 06:20 , Processed in 0.335425 second(s), 59 queries .

    回顶部