QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2144|回复: 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
    ; m$ t3 D% ~+ T( M) F/ |9 j9 n. Y
    , r5 C2 }  ]7 J: ]5 Q5 r$ v0 a+ y% T

    3 x# M: }& C" @( m6 ]1 Bclear all;' k: X: O, d* S5 I+ J
    close all;; s) w6 @: O5 _5 A6 B+ I) u
    clc
    2 N& J; `* r1 B- qformat long% G7 T. T/ I5 ~$ K8 l
    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;
    ) f/ T) F6 Y0 w3 MF=[];
    / v/ k5 q2 y8 ztheta=[];
    ' L1 {1 v& G: H& ]5 av=24; %风速
    5 {3 N  n% N% ^7 e( T: Rl=105*10^(-3); %锚链每节链环的长度3 M7 H8 [# @# f8 |$ S5 ?
    L=22.05; %锚链的总长度
    % P4 x" T- d" _1 {: w' G( r) nnum=0; %通过更改不在海床上的链节数得到一个最优解0 i" o1 l+ y3 i8 Q9 P6 R9 F
    num1=round(L/l);# |# E1 b  d; H5 _. s7 P
    num2=0;
    ' g* S# [4 j; \/ o# ^lin=0/180*pi; %第一个链节与水平方向的夹角
    ' w! L  o. ~& e" y9 d4 clin1=90/180*pi;9 L$ d+ M( E: [, K
    lin2=0;
    2 z" S: I/ }. }  t+ W# c- u& im2=1200; %重物球质量
    1 u( P- H! p3 D3 [2 G; L/ cpg=7.7*10^3; %重物球的密度(单位:kg/m^3)+ w. t4 o4 @. }5 z8 @7 S$ r
    depth=20; %水深
    ; B) [0 J2 G8 l) t: N, A$ x1 ?+ Vpl=7; %锚链单位长度的质量) K9 d: W" ?. j
    vh=0; %海水流速( s, M" K3 p+ a2 p/ R) T
    g=9.8; %可通过改变此语句来修改重力加速度,单位为m/s^28 j- s  P0 y5 r4 m8 ~3 g% j
    p=1.025*10^3; %海水密度
    # D& p4 t) I/ mM=1000; %浮标质量! a$ c3 ~# u, e
    m=10; %钢管质量# p- K8 y( r3 H6 G" o
    m1=100; %设备和钢桶总质量
    & a0 ~# |; M2 o$ _y=0;6 \% ^2 E" B9 S6 i% n
    d=1;
    , |! H2 H+ O: N$ w7 a: r0 }$ jj1=0;' P3 |, W/ p' o& d0 P9 f2 U- p
    j2=0;. C$ ^+ i4 c# B/ ?" H3 a
    while(abs(y-d)>0.005)%在这里选择所需要的精度,- W6 s& m7 Z  T" R
    if (y>d)&&(num<round(L/l))
    $ \& Q0 I' ]1 @, f: `num1=num;
    2 Z5 y! w% D$ `/ _8 onum=round((num1+num2)/2);, g0 S7 ]( T, m
    elseif (y<d)&&(num<round(L/l));1 z7 G2 r+ e" Q5 H( J
    num2=num;
    2 S% j/ k) U+ R- unum=round((num1+num2)/2);
    2 K7 G5 [0 G5 d' Kelseif (y<d)&&(num==round(L/l))
    , D0 U3 T, b1 n, w- G* {* ^, u, i- ilin2=lin;% n- U* v) D* g6 e* ?
    lin=(lin1+lin2)/2;' V% e" h6 }: _
    elseif(y>d)&&(num==round(L/l))
    2 U; K' O4 K/ r  E/ D% Mlin1=lin;
    0 g" s4 U5 b0 b6 t1 [lin=(lin1+lin2)/2;
    8 D" J* g6 L  ^: t1 e/ kend7 K9 n" P6 j' O* I& ^
    %钢桶受到的浮力' K! ~) i4 y4 _( E# |* z. ^% Z( n
    Ff1=p*g*pi*(0.3/2)^2;* q) Z' j+ K8 H5 f* o  l# k, H
    %钢管收到的浮力' ~. L, K8 K% ~7 R3 K
    Ff2=p*g*pi*(0.05/2)^2;: y) A0 g2 a% N# a, {, w
    %重物球所受浮力
    2 k0 e' S! l+ }# k* @3 o4 QFfg=p*g*m2/pg;
    6 |) e/ x7 p1 M( n+ @%重物球所受海水水流力8 o# \6 f, R4 I2 S3 W
    Fhg=374*pi*((m2/pg/3/4)^(1/3))^2*vh^2;
    + `" J1 E! p- q8 ?; q%风对浮标受力面的投影面积
    ; ^$ E7 Q& q& ^* U0 J$ hS=2*(2-h);
    3 o+ O: C- N: l( J7 t6 s%风对浮标产生的力
    ! r0 i0 N7 u. yFw=0.625*S*v^2;& K3 R9 t. v* C
    %浮标在水中的体积' Z! F- C7 X4 z, D, D, S
    V=pi*(2/2)^2*h;+ L0 t; N$ `, y" N6 C* ]
    %浮标所受到的浮力
    5 K6 T3 i5 |$ OFf=p*g*V;
    * b+ E/ U# s: @- t- P! _, i$ E%浮标受到海水的近似水流力
    ! E! z- d4 N6 N8 k) ZFb=374*2*h*vh^2;2 U1 a. {, P+ ~. p- a2 B
    %钢桶受到海水的近似水流力
    9 d! R; }+ E3 q: m0 R. }8 U& `Fs1=374*0.3*vh^2;, j- U# t, }. H& ?% B: `& X
    %钢管受到海水的水流力的近似值& x8 _' O: v$ B4 W* L4 G" e0 h; U
    Fs=374*0.05*vh^2;4 E4 F# F/ T. p4 d
    %浮标浸没水中的高度
    . X+ f' S4 Q- H7 w" nif num==round(L/l)
    0 e. g) ^; s: t1 Fh=(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 ?+ V& ?9 E1 e# Z" K) \( A% Velse
    ' d5 B, O$ ], O( Dh=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+num*pl*l*g)/(p*g*pi);
    & F% k/ D# _  l0 aend- {/ q/ y& m% Q1 y! p
    a=Fw+Fb;5 g7 R3 O4 k& G. z+ k7 y; n
    b=-M*g+Ff+(Fw+Fb)*tan(lin);
    . m+ V3 ?% A( b1 p# c* P5 vif j1==0/ I/ r! w9 ~) g1 b2 o
    a=eval(a);3 X. O! l" u6 N
    b=eval(b);; b( B. O! r8 h( \
    else. x# O! e8 A0 a7 m3 n3 D1 x- R
    end& S0 S( b( G/ \& N& O
    F(1)=sqrt(a^2+b^2);
    / ?7 V! J+ w! h' h6 `theta(1)=atan(b/a);# c" v5 x+ K: M. G
    n=0;
    ( T  R2 `* E4 n$ \7 f" tfor i=1:4
    8 E7 W  S; z# p( U" u  V%钢管受到海水的水流力
    3 h" v$ m/ k( Y7 r9 E9 z9 c# [Fh(i)=374*0.05*sin(theta(i));
    * T4 ^, T  Z8 I$ K" t0 M) l2 U* `n=n+Fh(i);6 i4 d0 u/ f: q9 U, Y
    a=Fw+Fb+n;
    0 ]- @( ^1 _2 ^1 W! f6 a3 sif j1==0
    6 V( _9 T5 {4 q0 u. n+ _a=eval(a);
    1 _& s7 {5 o4 ?2 z2 ]! relse
    - V. q1 w/ c9 Mend
    1 o3 J- p: s9 z7 v8 i! R- Ab=F(i)*sin(theta(i))+p*g*pi*(50*10^(-3)/2)^2-m*g;, B5 M1 C4 d1 v) K6 Z9 G
    F(i+1)=sqrt(a^2+b^2);- q) L) b* Y1 i
    theta(i+1)=atan(b/a);
      Q: T% e- K" b" kend
    " Y9 U6 x5 g* Xc=0;: j  V, c+ z; Y$ I6 @  a  M% e  p
    for i=1:5
    , x" `4 J; i, r2 Z( c* K- W3 yc=c+sin(theta(i));: `# m3 K0 S4 g
    end
    ; N' U6 [/ q; @% J5 m1 Td=depth-c-h;
    / D! I1 y  Y0 f& E  s6 q; u( @y1=lin;* `* R! a. D/ f! |
    distance=0;
    ! R+ z) t7 }# \5 c( `, jif num==round(L/l)7 N6 u6 Y' Z; O) a" Q" E2 W
    y=l*sin(y1);
    , j6 L6 Q7 |; v' D/ sx1=Fw/sqrt(1-(sin(y1))^2);
      T' h" N$ x+ mfor i=1:num-1' D+ `: Y5 s) m/ u" L" b/ _' ]2 o
    m=(x1*sin(y1)+i*pl*l*g)/sqrt((x1*sin(y1)+i*pl*l*g)^2+Fw^2);- Z/ v: `: s  t% `4 w+ e  q/ C
    m=m*l;
    6 [4 F0 o$ l8 o7 ]- I# \' Z8 ]8 My=y+m;/ i, ^. v8 Z1 L
    n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;1 l7 e( v/ O# {1 A; i
    if j1==0  J' f" j, v5 Z/ H( h( J6 K
    n=eval(n);
    * I! k6 B9 f8 melse
    $ a+ `2 R6 i/ Y3 T3 J8 hend# x) ~* |. p2 W/ H+ }# u
    distance=distance+n;% d( ]# O- u8 W6 z
    if j1==0
    + ~& v! r* ^# by=eval(y);/ l$ X* j2 G7 c% z# U( h
    else; W4 i) e6 }6 z1 h2 V, Z! M; ^$ u
    end/ R% P  V& m% Y+ m/ N
    end5 m. a, ~3 U- r
    else1 C* g6 Q! f1 ~. g# u' C1 G
    y=y1*l;
    9 l2 b! _/ c8 A2 M0 c1 r# X) Idistance=(round(L/l)-num)*l;
    6 l( \- q3 e, {6 Z7 Qfor i=1:num
    & r1 Q' l) ?- x# q  \3 h' r5 tx1=Fw/sqrt(1-(sin(y1))^2);
    % k0 h5 X8 [! I: ~" x- ?8 V2 sm=(x1*y1+i*pl*l*g)/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;/ B7 P) W. R; b6 x
    y=y+m;
      G& R  l( _& W) _- h# O5 ~: v. \n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;- e& P0 F. y0 b! L# ^: s
    if j1==08 `4 k' y1 H% `1 n( i
    y=eval(y);, r% z1 y, F/ b; u1 R7 x2 }
    n=eval(n);
    0 J2 Z* P2 }$ V" O) n/ G9 |# q9 Y: Delse
    7 m3 K$ [2 K" q8 j$ mend2 m0 L: y2 H2 y; U8 B
    distance=distance+n;
    0 n4 \) A' ^: S. |9 x5 W% aend
    # n& ~% B8 K7 T  }# W& Mend: u" r- U4 V9 v& K3 Y4 _+ s
    m=0;
    6 l5 j) ^! Q- V8 }* }j1=1;4 ?, _6 s$ `8 p3 t/ X/ l) q
    j2=j2+1;9 Q/ m  V2 j0 D# `: t& U/ r5 z
    end0 S0 e+ i/ z7 i* V) m! r# d) ^
    %钢桶受到的浮力; k1 S& [# b; s' B, k% |5 F' D; o
    Ff1=p*g*pi*(0.3/2)^2;! V9 a5 X7 t0 ?
    %钢管收到的浮力
    1 b* x9 C. S7 @Ff2=p*g*pi*(0.05/2)^2;
    " q9 M0 B- G& O; d/ g%重物球所受浮力6 \( u3 H# Z- z2 A9 b8 ^
    Ffg=p*g*m2/pg;
    & N/ Y. }( M" U%重物球所受海水水流力
    9 `8 m4 _) U0 c! p6 w' c* CFhg=374*pi*((m2/pg/3/4)^(1/3))^2*vh^2;0 ^& l2 w5 ^: M  q- f' Z& ^9 U0 a
    %风对浮标受力面的投影面积
    3 t4 s1 D' o5 Y' h- ^; mS=2*(2-h);! g. o7 {1 r" g7 \' V6 T8 D
    %风对浮标产生的力- X) P: ~: I0 ]+ X% P& H* f7 M
    Fw=0.625*S*v^2;3 \9 I  t9 M4 R" C0 `6 P4 h, y
    %浮标在水中的体积
    2 z' a4 a- F- e9 U8 o& K2 qV=pi*(2/2)^2*h;
    ; p) I: ^4 L- u% C( v, _%浮标所受到的浮力
    8 i$ Z, F+ G8 m1 hFf=p*g*V;
    % }/ U! a' Q, E2 E! u3 R% O( D%浮标受到海水的近似水流力' N9 V  u! K* @% C) w
    Fb=374*2*h*vh^2;* z7 |9 A/ O( o) f
    %钢桶受到海水的近似水流力7 J8 k$ F, K# ]; \
    Fs1=374*0.3*vh^2;# l" d# P8 x) V, `: p# q# u
    %钢管受到海水的水流力的近似值
    , N. V& B9 J) ]! ]- nFs=374*0.05*vh^2;) d. Q  h- R1 B, r& ~
    %浮标浸没水中的高度
    , Q; v% O% G5 L2 l; B) Dif num==round(L/l), I0 O2 J/ Z5 g4 H  \
    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));" r& m7 \2 D0 p; P9 S; X
    else
    & |$ w& k" t' _1 R0 xh=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+num*pl*l*g)/(p*g*pi);1 S6 P( y0 d1 m; Q; l
    end
    ) v: S) J) E) G# qa=Fw+Fb;
    5 N8 }; k! S3 d6 B4 A' Cb=-M*g+Ff+(Fw+Fb)*tan(lin);/ J& |- x0 |1 a: _* u( E
    F(1)=sqrt(a^2+b^2);# _' Z6 |- b9 M, N: S- Q' C) ^% |
    theta(1)=atan(b/a);5 }3 h9 J2 u7 a+ H( j; O
    n=0;
    $ S. `! t% ]6 A1 A' |for i=1:4
    7 A3 V5 _* ~% b( R5 h  l  o7 A%钢管受到海水的水流力
    - E& C% }5 o1 K9 d% d, DFh(i)=374*0.05*sin(theta(i));
    + P. I$ s9 Y8 Zn=n+Fh(i);) j/ H" ~' i2 d
    a=Fw+Fb+n;7 W0 D3 K1 i4 ]+ u8 t4 F
    b=F(i)*sin(theta(i))+p*g*pi*(50*10^(-3)/2)^2-m*g;
    8 Y0 m9 l+ T% g/ pF(i+1)=sqrt(a^2+b^2);
      o/ t. B6 Q5 ltheta(i+1)=atan(b/a);
    ) M7 p0 h1 D6 [: Gend' d- G# E# u3 x5 _4 t
    disp('输出钢管和钢桶的倾斜角度(角度制)')8 f$ G8 q* o2 A  v% v* u5 \
    th=90-theta*180/pi
    % ~+ v# W9 y  {* T1 d! `m=85*pi/180;
    1 W4 F* ~+ |8 N1 uif theta(5)>m
    6 k* b3 _1 h6 u# U' b$ q. ddisp('钢桶的倾斜角足够小,测量准确')' i$ G5 i$ [/ X' ^' b
    else ; y/ O# F; \1 k
    disp('钢桶的倾斜角过大')# M7 P( M% X7 S& Y+ j
    end
    3 E$ m2 B- l- Y' _c=0;6 J# I% s# T6 t6 h% h
    for i=1:5
    0 C, T9 ^3 @, i, p, `7 p8 rc=c+sin(theta(i));4 q; a# K  d* p' J0 ^  @5 C
    end+ }6 Z1 c/ D, X/ A& ]2 q1 D$ ^
    d=depth-c-h;
    8 a; @- t7 s9 r1 o9 U; U6 Xy1=lin;$ r  U, E  _, E/ G6 B1 H/ ^
    distance=0;) S' F! K0 ?! P4 g: x0 k
    if num==round(L/l)3 C; x/ f9 Z1 t8 G# e; Y
    y=l*sin(y1);
    ; A6 F# B$ C! Y+ p0 O, L* qx1=Fw/sqrt(1-(sin(y1))^2);' U* a5 c$ F6 R( }! l
    for i=1:num-1
    : ~7 B- X4 t, M2 u0 j  F# Vm=(x1*sin(y1)+i*pl*l*g)/sqrt((x1*sin(y1)+i*pl*l*g)^2+Fw^2);" M, G0 `7 ^/ H" l8 D; l' x1 Y
    m=m*l;0 X& I( w7 G* m* E4 _+ n% ]5 r
    y=y+m;
    6 t# ^# h" h9 Bn=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
    * {% X1 s7 t9 W8 A4 |6 cdistance=distance+n;
    . ]. k7 I% W8 K9 J6 hplot(distance,y,'o')  H9 e% f6 J5 I' `) J& D$ Z# T
    hold on
    3 o1 W5 g* r+ }' l: N9 Qend: S$ I# Z9 B: A: j, p
    else
    ' j2 f0 v) o3 A. Z+ Y2 g9 ey=y1*l;; {5 s7 p5 |: u  h
    for i=1:round(L/l)-num+ B$ J3 ]) ?6 R/ z* J8 L. e' Y4 O
    distance=i*l;
    ! r! @' E) d) y/ X& `% J6 Jy=0;9 S4 a+ j/ {4 ?9 Q* b0 g
    plot(distance,y,'o')
    / u& Z3 x9 t& A+ M5 ~0 Lhold on
    1 e/ k6 K' l) T  L& X  T7 H3 dgrid on
    ( m* J& ~) Y: d0 ?* J; G' Vend
    7 y) W/ G, N8 O1 yfor i=1:num
    $ C+ [- Z4 N9 E8 Y/ u, Nx1=Fw/sqrt(1-(sin(y1))^2);( k; _; @3 d% s
    m=(x1*y1+i*pl*l*g)/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;# f/ j8 O$ A! C2 x" q$ a3 i
    y=y+m; : K! h& h& n$ Q, Z. w7 m
    n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;, c% r) X+ y+ ]9 }
    if j1==0
    * U3 X4 Z3 o0 G* b' s. Wy=eval(y);- `" A; m4 ?, V1 Y
    n=eval(n);' O' A% G* P' Q* r5 L
    else
    5 I  ?1 j0 F$ c- c) dend
    ; i( j  O  @5 q5 ^distance=distance+n;
    & {8 [, }& G7 M2 P) h( X% L/ f. Dplot(distance,y,'o')) r% j; `0 t$ H
    hold on
    1 ?, \$ A4 M& s. Iend% I7 }9 \8 P- S# E4 q
    end$ ], t2 m- j0 Y
    m=0;
    8 u. H7 q# ]# ^( E4 @1 nfor i=1:5
    ! d2 Z9 g: @& P% K) r, Ym=m+cos(theta(i));9 L" `0 Y7 @- M5 O5 P
    end
    0 T0 r4 h) d4 d: ]: f/ M%浮标的运动半径
    1 O& t( H0 W: Zdisp('输出浮标的运动半径')7 V* U& K: n: |4 L1 L" W
    ans=distance+m+ v) e. T  }. j/ k- _$ G6 d

    9 `5 Q5 ?) R: Y8 b6 _6 P6 Q. ~
    1 x, A# p' I# d8 P2 T4 ~+ `& h( m. x2 J
    1 B4 N. E- H  ?( G7 [- `' Y
    6 ?: ^, ^& L+ q0 c2 V
    1 [9 E$ Y9 C# t/ m9 R8 W+ |: t5 j

    " M8 W$ |7 D- o9 z/ o* I; V

    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-17 00:50 , Processed in 0.640930 second(s), 59 queries .

    回顶部