QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2191|回复: 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 J/ L0 k' \/ ?3 H7 w1 k8 J; ?
    / e$ |9 X, U' f! W6 w

    ' N+ S, o& W' H- w0 ~2 V, s2 ~, Pclear all;6 X' b" k3 O( U/ C
    close all;
    ; s2 ?+ T  G6 R% ^" M% vclc6 _. \( D0 Y4 w. J
    format long* m7 K' U* d- N* e1 X: H
    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;
    / D4 y6 u; G0 ~! MF=[];  i$ A! t- u. w$ i
    theta=[];
    $ o6 R5 N  k+ D6 K6 cv=24; %风速
    , B- J( ~  {, `9 _# S: g' @3 ~& Gl=105*10^(-3); %锚链每节链环的长度. g! K( I# }4 e$ D' C- O
    L=22.05; %锚链的总长度/ d0 r( t' I9 E. C
    num=0; %通过更改不在海床上的链节数得到一个最优解8 T# J- T" e! J& ^
    num1=round(L/l);, j" F4 h# Q" B$ w
    num2=0;
    ( d8 h* v2 E6 T, mlin=0/180*pi; %第一个链节与水平方向的夹角) z% D0 k4 H6 n, f1 R
    lin1=90/180*pi;
    ; C2 A6 W5 ^% c# u; u5 o/ Z3 Mlin2=0;3 c7 _/ F) a; V( W3 J3 j) P1 C; V
    m2=1200; %重物球质量
      r9 `* i$ @$ f. z7 O: O# }# }# s, Zpg=7.7*10^3; %重物球的密度(单位:kg/m^3)& q' C) C' }6 g1 C/ D
    depth=20; %水深
    " h' H, n, P. @" g2 x0 qpl=7; %锚链单位长度的质量, ~) u$ V( q3 w
    vh=0; %海水流速( N2 T, h6 i& _5 k& j! A- v
    g=9.8; %可通过改变此语句来修改重力加速度,单位为m/s^2- ^0 X/ |% [! k# J( s2 H
    p=1.025*10^3; %海水密度# [2 U  X9 |9 M7 M
    M=1000; %浮标质量8 {0 R! Q6 r+ d- ^
    m=10; %钢管质量
    - Z: S  F" [- qm1=100; %设备和钢桶总质量8 |+ P' _: a+ a! E" h0 f
    y=0;- r) }  s9 n+ H4 }' C/ _
    d=1;; F+ |: Z7 x) @/ S& T6 p& D0 L" c
    j1=0;" F. x) J$ o2 O9 f8 Q# N0 M5 d* F
    j2=0;
    9 n" F  ?- P: N% ]) R/ @while(abs(y-d)>0.005)%在这里选择所需要的精度,
    , K# i* A! a  w3 X% W* Rif (y>d)&&(num<round(L/l))$ M0 Y( [' T! \9 ~; Z1 b+ [7 F
    num1=num;( [/ z" }% l* ?2 g
    num=round((num1+num2)/2);
    8 D. Q" J4 v8 R0 v- H" z; B: Yelseif (y<d)&&(num<round(L/l));4 i! j5 D, z7 d+ e& D8 V( x6 V6 [' M
    num2=num;
    & W0 h. J. j- L2 [1 _. x$ t4 {$ E+ Bnum=round((num1+num2)/2);9 V( q% }) T4 b, s
    elseif (y<d)&&(num==round(L/l))$ _7 w& y* C2 ~, Z9 s# ]' e
    lin2=lin;. T0 m' A& C1 Y+ Q  L. _  e
    lin=(lin1+lin2)/2;
    0 a+ L: e+ S4 k, S0 d! e& qelseif(y>d)&&(num==round(L/l))
    0 S# s0 |" r2 E+ \/ x1 `lin1=lin;
    5 i: F, ?$ G& G! qlin=(lin1+lin2)/2;
    # s( @& G4 L9 m6 U! V# o& `) |/ ^end% w' {8 I# F3 m; g* ]. b3 t% ~& Q
    %钢桶受到的浮力& C5 b( _1 {" j* Y
    Ff1=p*g*pi*(0.3/2)^2;
    ; j) t% V( y! R  ]2 L4 _%钢管收到的浮力
    1 G) i' d8 P( \Ff2=p*g*pi*(0.05/2)^2;5 u* }! x' S5 [& x
    %重物球所受浮力
    & l4 G; I6 ?8 G* HFfg=p*g*m2/pg;
    ) v8 H& |( ?' [. ?/ S# X: u%重物球所受海水水流力. W2 f' u9 z; L+ N2 {, N( U
    Fhg=374*pi*((m2/pg/3/4)^(1/3))^2*vh^2;/ p% i$ H! F" x2 p6 Y
    %风对浮标受力面的投影面积
    8 J" }( B" c! MS=2*(2-h);
    $ g" t4 x, t- O* J. Y%风对浮标产生的力3 x$ G3 M1 e* {" c4 H3 G% M
    Fw=0.625*S*v^2;
    + E- }1 u" u+ M& C+ f5 a%浮标在水中的体积$ ~7 \8 m: W3 d( u+ {9 U, S3 `
    V=pi*(2/2)^2*h;
    % Y$ c5 l' M( ^# f$ q: R0 F%浮标所受到的浮力
    , s( a4 i* ^( L( u- W/ IFf=p*g*V;% t. ?. r9 T2 Y* U1 i
    %浮标受到海水的近似水流力0 c5 S/ e6 n6 W% c
    Fb=374*2*h*vh^2;% ~! E( x& K/ I
    %钢桶受到海水的近似水流力
    1 b8 L0 u+ L" N9 f2 c& uFs1=374*0.3*vh^2;7 r. H# t! ~' p2 _+ l
    %钢管受到海水的水流力的近似值* ~; w8 P  J1 A
    Fs=374*0.05*vh^2;" ^' m( }$ Y+ C% M
    %浮标浸没水中的高度6 \; K3 y8 A- r& G+ S6 u" ^4 f$ P
    if num==round(L/l)# S( D: a7 u5 f9 I5 \5 \" D
    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 T  d8 Q' }# m  \  \& n; helse
    7 K  @( o, }' ]% R7 l- H$ G# jh=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+num*pl*l*g)/(p*g*pi);
    9 N3 r7 z3 Z1 ^2 g3 Z) V. h3 Y) P: uend
    $ r/ s+ [1 x4 y7 `6 k; r9 r# [a=Fw+Fb;
    ) ~" S6 ^  C# I: x% H! ib=-M*g+Ff+(Fw+Fb)*tan(lin);, l& e1 A% U* d' v4 r7 x" f) B
    if j1==0
    ' W! N0 Q5 d0 e, _0 V. o. ~a=eval(a);
    0 \1 z" M( t% |0 [, `/ S$ d! a! Rb=eval(b);7 L1 r. b9 L5 \( j
    else
    6 a! u4 x1 E/ x5 }. Send( ]2 Y0 R9 P4 w' A
    F(1)=sqrt(a^2+b^2);
    7 ~5 t0 n0 J- i7 @& n. y/ stheta(1)=atan(b/a);  f! A7 F7 Z! N4 b6 {
    n=0;$ v3 r. `9 {) U0 }  ]* ^
    for i=1:4
    - j3 U4 t) y3 n" }* J0 U%钢管受到海水的水流力
    / \& p- ~/ F  U4 ?: _. r* mFh(i)=374*0.05*sin(theta(i));
    : s- t0 C. o9 t0 ~/ A& l; }' ?n=n+Fh(i);3 Z6 J% I. }+ P1 m7 k# m: H
    a=Fw+Fb+n;
    7 E( H; ]4 W0 E- ?  \if j1==0
    3 d0 \, Q3 q  O' f: M6 z$ F/ B5 Fa=eval(a);7 J0 b: t: z( G  k/ C+ d
    else7 q# i* K& T) G! I# u& a* G
    end! j  x3 s$ u0 D$ z; B3 B4 r# ^) ~/ p4 s# t
    b=F(i)*sin(theta(i))+p*g*pi*(50*10^(-3)/2)^2-m*g;
    " l) w( i0 M- AF(i+1)=sqrt(a^2+b^2);
    / E- u* Q' ^  Z, S9 U% dtheta(i+1)=atan(b/a);3 l+ o7 S* F4 R. p4 k/ n6 R  j9 R
    end
    % L" S2 n  A% C2 L( l  g! U1 m6 K+ fc=0;
    * X5 W4 E+ X5 h& V: ifor i=1:59 y) X8 o' V" t/ g
    c=c+sin(theta(i));( _8 E4 q3 Y3 Y3 [& }' T3 F! U/ w( _
    end4 u! @, ]5 ]: Q0 E3 Z
    d=depth-c-h;1 V4 g$ {( ?) i4 U) ~5 z
    y1=lin;8 t2 i3 V5 I8 o- R# Z  U
    distance=0;
    ' e' Q; d) e7 v4 s* z/ `. {if num==round(L/l)8 T/ i% F2 }6 ^5 s) c, x
    y=l*sin(y1);
    ! f$ Q5 f5 r; kx1=Fw/sqrt(1-(sin(y1))^2);$ L! q1 g4 r, P+ E( N- v' p1 v
    for i=1:num-1
    . Q- P4 u. Q3 @m=(x1*sin(y1)+i*pl*l*g)/sqrt((x1*sin(y1)+i*pl*l*g)^2+Fw^2);
    ! x; r% c+ N- }1 l& `m=m*l;
    1 ]" s4 o" C: ^: t; q, \y=y+m;
    : O( T" V5 u' K& ^4 en=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;$ C) g( K3 ^/ j% M. B
    if j1==0
    ; d! f" U& G' an=eval(n);8 r, t" Y$ c5 L; c# Q) u
    else% h0 s- P' U7 o9 D- d2 |
    end; S, ~" q' s- N
    distance=distance+n;
    9 k+ P) `) K+ X# |. E0 G* R/ r* wif j1==0
    9 K' \" }. M9 d2 q) {y=eval(y);- w# A& r1 `( [* p" K
    else( g/ Q9 C  R' M( u8 J+ D* }! G
    end# ?! i) }; Y- }; D, s) k, l
    end$ `! ?1 n& S  K+ C8 d
    else
    2 |- N  e# [9 ay=y1*l;) ?6 P$ c0 v# [9 F( a
    distance=(round(L/l)-num)*l;, P9 e( ?. q, o4 u2 |* v0 L
    for i=1:num
    0 r1 ~' Z; m, K- L; U  X" _x1=Fw/sqrt(1-(sin(y1))^2);
    * W9 u# `0 d  P" hm=(x1*y1+i*pl*l*g)/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
    . p$ ^  w% H0 J( p0 by=y+m;
    & y, @% E' ~/ n% Tn=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;) {. o( O6 {/ K- M& p
    if j1==0
    8 j, w1 H2 ?0 S1 Yy=eval(y);
    ) D  _# r4 I0 p- I  U6 cn=eval(n);
    6 x& l) T" L- B6 C" U  ielse& N) Q. ~# V' v% T* T9 S/ I0 ]  b
    end
    7 N$ t( `# A; \* v& V4 U) Sdistance=distance+n;2 S) S! V" D: q9 f( e$ `9 f1 z
    end
    * D1 [* C$ s+ M" C1 V( k8 {1 w) l: {end, G7 n/ D, S) u8 @, t- D
    m=0;
    3 m0 ]3 L7 m+ S' Mj1=1;
    - K2 N7 R& f; Sj2=j2+1;- G! J6 }0 C) s( i- W/ c
    end  v: b! a; ], C) J$ y
    %钢桶受到的浮力
    & ]9 i; i3 v4 D4 D# t0 DFf1=p*g*pi*(0.3/2)^2;  q& U% A$ D" g; l1 G' _/ V3 l7 U
    %钢管收到的浮力
    8 j: H% k2 N) Y, |& rFf2=p*g*pi*(0.05/2)^2;! G5 r' x5 {1 V) f
    %重物球所受浮力
    ! l" V1 z3 J' u# L8 e/ R. eFfg=p*g*m2/pg;/ I  e- i9 A, L- j* N) V& a
    %重物球所受海水水流力0 G8 Z: o7 d! u6 W* v! a
    Fhg=374*pi*((m2/pg/3/4)^(1/3))^2*vh^2;. _! H$ P$ |# F7 t  ]- [$ l) K
    %风对浮标受力面的投影面积
    - j' _+ K8 d; I' j5 Z  AS=2*(2-h);
    ; Q* x1 {% i& T; m. p8 D- b%风对浮标产生的力
    $ i" N; W5 U/ E( f4 V( zFw=0.625*S*v^2;
    ' T% t- u( C5 y# O* L%浮标在水中的体积
    , Q4 L6 u1 {0 e4 D  I$ w' qV=pi*(2/2)^2*h;" V1 {; n% G0 p
    %浮标所受到的浮力- B: {) [4 S8 m+ x; ?+ L- X. F" `
    Ff=p*g*V;" Q& k3 @/ e; N: c6 O
    %浮标受到海水的近似水流力
    " e) [# F6 b5 j% f" aFb=374*2*h*vh^2;
    * @0 d0 ?! {. o! l%钢桶受到海水的近似水流力0 a9 r) \/ p* Y% G
    Fs1=374*0.3*vh^2;
    # w" n( H: V$ I/ L%钢管受到海水的水流力的近似值0 w/ J/ y: G* \. M
    Fs=374*0.05*vh^2;0 ^2 _# Y2 V/ q
    %浮标浸没水中的高度) H( b- {, J6 I$ J. c/ L
    if num==round(L/l)
    ' [+ Y- u2 f. R; ]& uh=(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));6 d2 H3 }+ b4 P# Z
    else % {* h' I/ o7 V; x
    h=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+num*pl*l*g)/(p*g*pi);$ P2 F* K% e2 c
    end
    4 q6 G7 {1 W( Q$ T3 V( m0 Na=Fw+Fb;* U3 q2 h0 J3 [7 w! c9 u  f# I
    b=-M*g+Ff+(Fw+Fb)*tan(lin);4 Y& S, \5 x* a# z% T
    F(1)=sqrt(a^2+b^2);. B; `( `7 k, O9 D; z+ l
    theta(1)=atan(b/a);
    + C9 `7 q3 @# @. i9 M0 B& An=0;
    0 F' X9 Z7 }; g7 C) I& mfor i=1:4* Z9 c- b( Q  N' e* ^& ~
    %钢管受到海水的水流力
    1 s9 |* L& I$ [' T4 l) W* tFh(i)=374*0.05*sin(theta(i));
    ! ^/ W; L) u' E% kn=n+Fh(i);
    % O$ k) t/ k6 G5 D0 ta=Fw+Fb+n;
    ' q/ u9 _& V+ B5 A1 x( _b=F(i)*sin(theta(i))+p*g*pi*(50*10^(-3)/2)^2-m*g;
    0 C% Z7 |0 }* lF(i+1)=sqrt(a^2+b^2);
    # t  X; \; @7 l  H9 e, G  utheta(i+1)=atan(b/a);- H8 ]) Y- z7 k
    end! h# e7 y5 M1 b( {) H( {/ E6 b
    disp('输出钢管和钢桶的倾斜角度(角度制)')
    + V1 u$ S; x# O$ Ath=90-theta*180/pi
    6 G" D: c$ o/ o  E6 gm=85*pi/180;* P2 g" W  Y2 Y! g  G
    if theta(5)>m
    % R! }( I% W9 x: cdisp('钢桶的倾斜角足够小,测量准确')3 |& a' B! i7 v3 f1 \, r/ z/ O
    else 9 F( Q8 n* q5 M" p, R. `* L; H
    disp('钢桶的倾斜角过大')0 r9 u5 D* T5 X, ^
    end1 R6 C, B1 v+ u0 U1 I4 M
    c=0;
    2 g+ `. u" P$ r: A; [8 D- e; x4 zfor i=1:56 ?5 s9 i9 x1 q6 l) Y. E4 L2 f% ~
    c=c+sin(theta(i));
    ! i+ x  u1 T9 N; [2 i  Kend
    ! j( h0 [, s: l& F4 I5 Fd=depth-c-h;  Q/ z5 \4 ^# h0 m
    y1=lin;2 u. e  z- B) q6 N: b4 u9 M; P/ x' R' g
    distance=0;
    5 A- Z8 g& _/ j/ q, e# K/ uif num==round(L/l)& U+ A% W* q, J3 K' ~
    y=l*sin(y1);
    / y. M, ]: [$ s8 R- G9 R/ `x1=Fw/sqrt(1-(sin(y1))^2);
      ^) L4 H' C2 |* C6 {. W) E+ qfor i=1:num-1
    0 r1 D9 [# X9 |  Hm=(x1*sin(y1)+i*pl*l*g)/sqrt((x1*sin(y1)+i*pl*l*g)^2+Fw^2);
    ) H/ J. O* @9 k0 ?$ Zm=m*l;
    3 U$ Y; b$ g, Ky=y+m;6 t" z! n, N, |+ f0 w
    n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
    : s% v( z; G# a3 p& D' O! H5 Sdistance=distance+n;7 i$ h4 j8 h% f  k3 N: ^
    plot(distance,y,'o')2 x7 r0 K$ L, o/ p9 O; ]$ J2 I4 y4 C
    hold on4 h+ v3 r) Z) |  u
    end$ j( T" K  ]1 ^
    else
    . O7 E) L( h# K' V" s8 K& ly=y1*l;
    * q! q7 t8 m' G9 |$ ?  ^for i=1:round(L/l)-num
    ' X6 g- ~. V  T2 M6 Xdistance=i*l;
    ( W. g' g, a0 q2 I" ]: ay=0;0 d, Z+ t+ |+ Z
    plot(distance,y,'o'); E9 K3 O+ j- \6 F
    hold on! |& O0 v1 r* `5 l+ J
    grid on, a% M; g9 ~# g" A: ~: o
    end/ ?9 F* M0 `7 X. ?- Y, B# z$ N4 P: u
    for i=1:num
    ( k9 Y# f3 b5 Y! C: @x1=Fw/sqrt(1-(sin(y1))^2);! t6 I4 K7 U  V3 q  a
    m=(x1*y1+i*pl*l*g)/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
    & ^' y& J: N8 Z6 L' u: @" Zy=y+m; 9 N& s# ~% H& G4 X/ _: r
    n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
    8 k3 P: d5 t7 s0 A4 @+ Y/ b- ~" pif j1==09 ?6 L2 q; T" H+ I/ x6 f$ r9 |
    y=eval(y);
    0 Z  c* x- _* D  Sn=eval(n);1 K8 }6 P" `9 @* t# e
    else  s( |/ z# G$ w" a5 \
    end
    " \# w( a+ i* odistance=distance+n;
    5 Z! l- S, e9 C) a( e6 i: C, Cplot(distance,y,'o')( w7 q  v. T8 C% N' q, r4 B
    hold on1 g  Q, e2 a* i! C
    end. W4 h" P2 ]4 K$ _& C
    end7 K, e; _. |8 @; l% N
    m=0;9 x; C7 T( A. m2 C% h% U8 k/ t
    for i=1:51 }  |" s1 j, |$ i+ S
    m=m+cos(theta(i));
    # H, B6 X' G3 Y4 J% S8 J2 Zend6 L5 w6 S4 g7 |" h( q2 e: z: B8 v
    %浮标的运动半径. |- G8 w' a& X0 L  `( G; c' ^
    disp('输出浮标的运动半径')
    ' n. P* c( @% M% R3 Dans=distance+m
    ( k7 S: Q6 F: K% C% L, W9 c' [
    ' v! V0 G* b) v9 Z, ~3 I
    7 I! }$ C) L# l5 E& Z

    1 U! G1 k0 f& ]8 I, z8 ]8 p/ a
    4 h2 W$ b! H+ D
    , J2 ?; n  y# q+ d" D
    1 |; ]8 M4 g1 I7 c  e

    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-7-29 20:13 , Processed in 0.572799 second(s), 58 queries .

    回顶部