QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2192|回复: 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 u, \' J4 }6 d1 D: ?! p! e

    ) _% k+ Z+ _  r8 J
    # a2 I( j% V3 Zclear all;& P$ U& X9 X: L
    close all;
    6 [0 @; j, i! ]: ]' ^clc
    # k# P0 b1 S$ q/ B8 H2 `  L2 [# |format long0 z) t; Z. {0 z8 u- j: X
    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;
    ' Z3 d& y# \) x  I$ @7 ?F=[];
    ! m; K# g  c9 Mtheta=[]; # c! M0 Q+ M" Y* u' X8 i; U+ J9 h9 T
    v=24; %风速5 o5 e; T8 h7 r1 r
    l=105*10^(-3); %锚链每节链环的长度
    3 o8 ~! W3 H4 v! vL=22.05; %锚链的总长度
    ! J. C1 o0 s7 U3 t+ R  fnum=0; %通过更改不在海床上的链节数得到一个最优解
    9 U+ }/ y3 d' t  X8 j2 B3 N0 mnum1=round(L/l);9 o5 f" l+ F5 }% _/ G
    num2=0;
    9 r7 r5 I  V% h6 P. e( j$ C7 H5 olin=0/180*pi; %第一个链节与水平方向的夹角2 p5 _5 x2 D2 g6 G: Z
    lin1=90/180*pi;
    . e6 [, b6 o5 K" elin2=0;2 _) v2 d+ e0 H% W: ?3 [1 \
    m2=1200; %重物球质量
    ' k# C( c; W( d) Npg=7.7*10^3; %重物球的密度(单位:kg/m^3)
    ) s  I, \; R6 M$ Zdepth=20; %水深) _3 ?; k) ]1 S4 d. g
    pl=7; %锚链单位长度的质量0 t( b: q# N2 F7 p0 F
    vh=0; %海水流速
    1 `) p0 i! f6 v6 S3 _( e, R( Eg=9.8; %可通过改变此语句来修改重力加速度,单位为m/s^2
    # l" O/ d6 I. T* Y! Xp=1.025*10^3; %海水密度8 g% K: n3 G. ?3 F+ \% x7 t5 c# U
    M=1000; %浮标质量
    8 ~7 [8 B5 V3 J7 gm=10; %钢管质量
    2 g: y# d, T: pm1=100; %设备和钢桶总质量
    : u/ L5 u( a! Q$ R! k/ ?7 Z+ [y=0;6 o2 N0 {3 B3 Y
    d=1;
    2 K* m( v% a( e9 d" R5 _$ [j1=0;
    $ _/ ~& [3 R+ B1 {j2=0;
    * \2 o9 l2 Q8 x- x# ]while(abs(y-d)>0.005)%在这里选择所需要的精度,
    # ^* U* N1 w8 }if (y>d)&&(num<round(L/l))0 B2 K' V+ _4 h, A8 f
    num1=num;9 W% }; ~1 e3 j/ f: ]# @
    num=round((num1+num2)/2);
    ' E. y% @. B, O% E2 ?elseif (y<d)&&(num<round(L/l));
    5 I) ]% W4 B5 T8 j; Rnum2=num;
    2 M$ H! [: ]5 U- t9 A/ {2 _num=round((num1+num2)/2);9 ^+ J9 C" d2 `3 a1 x% D9 Y) G* W$ N
    elseif (y<d)&&(num==round(L/l))& t$ `6 v/ Z9 m+ J) W
    lin2=lin;8 C4 R# m% c) W; a5 v
    lin=(lin1+lin2)/2;
    2 q9 B7 U/ ^/ M' {( \2 oelseif(y>d)&&(num==round(L/l))
    ! F1 h  t: w+ o* L3 ?lin1=lin;
    $ l- |5 [0 |  h" d! d* J! alin=(lin1+lin2)/2;7 A* ^! [4 P; b, f" L7 A4 N
    end; B1 ^' G8 _! d, I' _5 T( u
    %钢桶受到的浮力7 |" C9 R* o. U, @
    Ff1=p*g*pi*(0.3/2)^2;/ W* Q( q% V: }7 I9 ~
    %钢管收到的浮力
    8 I' b7 z8 ]4 M. @0 jFf2=p*g*pi*(0.05/2)^2;
    * h" f9 h! ^* n: h7 A%重物球所受浮力
    4 V3 M% c& U2 R' \2 x7 xFfg=p*g*m2/pg;5 A+ h) s) Z8 G; y
    %重物球所受海水水流力$ p7 X5 Q4 E7 M  G4 l
    Fhg=374*pi*((m2/pg/3/4)^(1/3))^2*vh^2;" `2 K$ G( i# H4 N" a
    %风对浮标受力面的投影面积
    5 i. c! B; J$ p- z, ]$ qS=2*(2-h);5 G0 e+ L: z$ m) Y5 H- h
    %风对浮标产生的力
    : v( r7 h7 g( h. ?6 RFw=0.625*S*v^2;3 a9 L1 Y  b# z) ?: Z) U
    %浮标在水中的体积+ j/ Z4 }/ H/ P# r
    V=pi*(2/2)^2*h;
    . |/ J3 F' B7 H8 s+ ~%浮标所受到的浮力
    # n. [8 y9 _, }; b0 h) CFf=p*g*V;
    4 o: v  O, [; c; u%浮标受到海水的近似水流力$ F; E) w9 a: T& E& B$ o
    Fb=374*2*h*vh^2;
    . Y: B2 }6 D! W# P) ~: ]%钢桶受到海水的近似水流力
    2 l5 d! T8 f( yFs1=374*0.3*vh^2;
    . R3 t9 P$ F+ a( K) N%钢管受到海水的水流力的近似值
    % a) h6 `8 B3 m. \% @# V$ p4 y1 XFs=374*0.05*vh^2;
    # z3 `) X3 _- X8 i3 m%浮标浸没水中的高度
    ; ]5 o) E  x1 \- _4 L/ [  o/ gif num==round(L/l)
    ! B9 S( r% |" a  Wh=(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));
    ; N3 O; M6 ?, s! a( nelse % S' \8 H( Q: |, N$ B" Q
    h=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+num*pl*l*g)/(p*g*pi);
    $ g# b: S9 J  k* r+ V# [$ d0 d; m3 Cend0 Z/ K, k" F! h  ?% O- i. B
    a=Fw+Fb;
    4 G5 x& S" k# W4 g4 w' _+ m3 W5 Mb=-M*g+Ff+(Fw+Fb)*tan(lin);& k; E* a& R/ ^0 r$ ]( o
    if j1==0; B# M: _, V' Z- t
    a=eval(a);' L5 p' h# R' @) N! X4 Y" A5 _
    b=eval(b);! A: L& M( t2 _& T6 H
    else
    1 c2 g5 H8 }2 U" Kend
    ) m& P* w2 _% g) L, m+ lF(1)=sqrt(a^2+b^2);
    3 j+ `4 C& \  E; e+ Ytheta(1)=atan(b/a);. F. d" F( `; }% ]3 w  H% n
    n=0;
    * `3 L% j  |1 F4 |; f: _for i=1:47 L. J$ B0 g, k3 r
    %钢管受到海水的水流力* N5 s) s3 N- ?2 s
    Fh(i)=374*0.05*sin(theta(i));0 j; j- p+ F7 c# P9 _
    n=n+Fh(i);# o# b0 \4 _9 |# G# m* y
    a=Fw+Fb+n;+ R7 e" @4 n& C2 L" M
    if j1==04 y: i" c* s, k: `2 X! y
    a=eval(a);
    4 N1 J& i* I7 n3 l* aelse
    ! I. P4 ?) Y8 O( F3 q) \# Z0 E9 K- |; ~end: K! {7 y! F: z0 ]$ e) m8 A
    b=F(i)*sin(theta(i))+p*g*pi*(50*10^(-3)/2)^2-m*g;- d9 Y, R: X( b  |4 D
    F(i+1)=sqrt(a^2+b^2);
    9 V/ T; b+ }0 z- t$ Q; F( Ftheta(i+1)=atan(b/a);
    5 l5 h& S2 [  l9 i# V# Uend
    ; U6 `* H' d0 i/ p; D5 H! mc=0;
    " E, ^5 \) Y+ }+ Z. n2 h- Nfor i=1:5
    # R) d: a. S7 X- Ac=c+sin(theta(i));
    0 _' g0 u% b/ i6 d0 G$ Z8 qend7 a- G6 h3 ~& L" y3 G# N1 h6 n
    d=depth-c-h;
    5 U( ^* \  `/ L  X% By1=lin;& q4 t8 t5 ~+ p( z2 s" p
    distance=0;$ }- o+ m/ n+ T. Y
    if num==round(L/l)# h) c) D2 H9 x! [" t- n4 O4 p; t" G" h
    y=l*sin(y1);
    6 I* Z, m) l; {: Q% R* }! z2 Vx1=Fw/sqrt(1-(sin(y1))^2);% Z7 F* h8 T# Q& a) r5 M  x
    for i=1:num-1
    5 w7 y! g5 q" S3 N1 n3 [" _: `m=(x1*sin(y1)+i*pl*l*g)/sqrt((x1*sin(y1)+i*pl*l*g)^2+Fw^2);4 ?6 M- k* W) i$ Z' `) B2 O2 L
    m=m*l;
    0 |; x$ y7 S0 Yy=y+m;
    * W# K" i6 w% F$ S6 t  @, Dn=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
    9 ^$ P1 A0 i1 d3 r6 M$ |9 Fif j1==01 L* U* t) L6 v: K3 j
    n=eval(n);' `7 @3 x& Z4 t$ c' F! p  U
    else
    . O8 i$ w/ b, z1 q3 R7 J- fend
      ~1 A. L$ j9 |. p5 Vdistance=distance+n;( L( A1 P9 X+ h5 ?  R9 y7 \1 Y9 Y
    if j1==0
    3 t+ \( P3 j' i+ ?! Z4 O, Yy=eval(y);, v5 S0 E8 ^% I* R
    else
    1 E4 l' g2 O' N. o% p, wend
    " b3 h: h0 f5 k! u" M6 gend
    9 x9 O. V$ `4 G, m. v) l7 celse
    ! X- ]* T4 h) v* `- A7 S4 Cy=y1*l;* Z, w4 P0 Q) j# b
    distance=(round(L/l)-num)*l;' b6 c/ z/ D- C
    for i=1:num
    : f- _7 T: T0 Q) x1 X) C: O4 [x1=Fw/sqrt(1-(sin(y1))^2);
    6 a3 G2 w3 a( x1 m" _m=(x1*y1+i*pl*l*g)/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;# y2 R& t  G) \+ M
    y=y+m; 6 Q# V. f  v3 w* ?) z. }* w
    n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
    . `8 p& f$ ]1 B: G  Aif j1==0
    : ?5 q* {* k! ay=eval(y);7 A9 g# `0 W- r7 d
    n=eval(n);7 p( u% F) ?3 U, I+ _" q; n  O+ Q
    else+ C4 C* [2 K0 E9 O6 S4 G1 r
    end) b* `+ _9 L9 T0 \/ i
    distance=distance+n;
    : F5 D/ |1 M$ L' _end
    9 L2 |- o% q1 T: s" x- fend
    8 [/ C' O9 c2 G* ]3 Cm=0;
    " P8 `' @7 `" `, aj1=1;
      Y% }6 r/ S: O9 Bj2=j2+1;
    % b* C+ R2 n, R2 |' U% p. v" M0 Jend  H. r$ y3 i( q8 X
    %钢桶受到的浮力' C6 b- S4 E& {# l3 e1 `
    Ff1=p*g*pi*(0.3/2)^2;
    1 K1 O8 l( h( F3 ^- }- e- k%钢管收到的浮力
    & I3 h( E/ |" Q; oFf2=p*g*pi*(0.05/2)^2;* f; v% M( N4 M7 y
    %重物球所受浮力
    7 t, }8 R3 U, |* }2 N' |8 Y* [Ffg=p*g*m2/pg;
    4 Y1 l# L  L" j: _%重物球所受海水水流力4 j% h/ L9 U: E2 F* n, W
    Fhg=374*pi*((m2/pg/3/4)^(1/3))^2*vh^2;. p( ]% X. @7 x9 V
    %风对浮标受力面的投影面积, H3 u  J8 [$ q* J) v
    S=2*(2-h);% ^/ i- |( R! h% ~$ W3 R
    %风对浮标产生的力
    , k  o' q5 B% W2 _+ j! C% IFw=0.625*S*v^2;
    * C6 R9 q& r0 q2 T/ l- j%浮标在水中的体积9 D# p! d6 {' V2 U/ K6 R
    V=pi*(2/2)^2*h;
    2 x3 U4 j1 u% U0 H+ E( Y%浮标所受到的浮力
    ' Q3 ^' z. @$ V+ i( \, aFf=p*g*V;5 v# b) m, J" |* j3 t" @; I6 P
    %浮标受到海水的近似水流力/ X% U/ a* V! U6 R. O, J
    Fb=374*2*h*vh^2;3 [( t+ Q" }3 A5 z% N
    %钢桶受到海水的近似水流力
    * i) ]9 N% E' `6 lFs1=374*0.3*vh^2;6 r0 [0 a6 k( \: B/ v2 v: P
    %钢管受到海水的水流力的近似值7 p, I* c& k) m
    Fs=374*0.05*vh^2;
      B5 {# c  Z6 C8 l4 `%浮标浸没水中的高度
    0 x8 {2 O$ c# G1 r; Nif num==round(L/l)
    , B1 k7 Q$ S4 C8 q6 ]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));
      m8 J7 L2 M3 P  }else
    * [* s: d% F8 ]6 }h=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+num*pl*l*g)/(p*g*pi);
    8 V. O; f+ f' Vend- z% ^1 @- X# x" q/ `4 k
    a=Fw+Fb;
    1 B7 y: ^, n2 y# J* k$ Q/ pb=-M*g+Ff+(Fw+Fb)*tan(lin);
    + k: S9 f% `; ]. M8 }F(1)=sqrt(a^2+b^2);% e6 d: T* A1 B2 u9 \
    theta(1)=atan(b/a);+ K: E5 j/ {: z# f' v" [: s# R
    n=0;- t/ W+ }/ e5 I/ c/ R
    for i=1:4
    $ g) P0 P  o) x- b%钢管受到海水的水流力
    ) W8 `- _' }% [% P4 |' a- AFh(i)=374*0.05*sin(theta(i));
    + ~$ N2 G/ Z: T" O) Q2 rn=n+Fh(i);" a9 e2 l) u( l) j
    a=Fw+Fb+n;+ O9 I2 k2 ]0 @/ Y, \. J3 {
    b=F(i)*sin(theta(i))+p*g*pi*(50*10^(-3)/2)^2-m*g;, s  c6 Y" b2 v8 u
    F(i+1)=sqrt(a^2+b^2);
    6 @: h& l: U2 j  w6 v8 ~' `theta(i+1)=atan(b/a);4 X1 B, K" i/ d
    end4 K/ ~3 i" Z' K
    disp('输出钢管和钢桶的倾斜角度(角度制)')
    0 k3 r% W) X! s& uth=90-theta*180/pi7 s  Z: ^" L8 W5 h* q$ m
    m=85*pi/180;
    % E# i' r8 o: _4 ^( h- Rif theta(5)>m# h0 [$ r5 G5 h5 w' O9 q8 y
    disp('钢桶的倾斜角足够小,测量准确')
    , [( b$ o* E/ eelse
    3 B8 B+ P  d$ O* Qdisp('钢桶的倾斜角过大')
    % X5 q' \! r, a. v0 Zend) n" N3 R) H+ C
    c=0;
    1 [2 Q& }# R6 L& Kfor i=1:5% g" b2 ]0 Q0 l
    c=c+sin(theta(i));
    * P* k6 I! u/ X  |end
    : |& t* x, W, l3 z4 n1 bd=depth-c-h;
    # V; @( V) c+ F1 U$ x$ m6 c" my1=lin;  _* q! r8 c  E$ e+ a8 d" l  {
    distance=0;
    . r) n1 l% |- t, i3 |+ B: Oif num==round(L/l)9 |' Y3 v5 j! O6 o0 z/ s3 s! J: N
    y=l*sin(y1);
    / g  `5 c5 ~4 z; p; Ax1=Fw/sqrt(1-(sin(y1))^2);
    9 z, f1 U! y. `8 Ifor i=1:num-1
    8 D5 @. [& b/ i( @m=(x1*sin(y1)+i*pl*l*g)/sqrt((x1*sin(y1)+i*pl*l*g)^2+Fw^2);
    3 a" T) W' }7 j! F$ R  Um=m*l;
    ; C3 u! X* @) P" {; by=y+m;
    % J/ _/ q0 g% ]# E" Zn=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
      V- n6 k- j+ P! T. qdistance=distance+n;
    0 {  c% v, H7 W( nplot(distance,y,'o')) O" d4 N$ o6 h! t# i
    hold on$ @  F3 g0 E8 ~% p
    end$ R4 U. y8 `7 N/ L& \  ~
    else  ~+ C4 k! t, T- m' i- Z6 d# B! j
    y=y1*l;  x8 E3 W9 Y2 ]  V. U( Y  l
    for i=1:round(L/l)-num
      r, v% y( w& ^+ ]/ j$ M9 q3 ydistance=i*l;
    9 f" i6 F# ]' U/ C  `) L& by=0;
    6 I, U! i9 }0 C1 Rplot(distance,y,'o')
    7 H8 c# [9 Y) C& khold on
    & f9 ~  I& P, C0 o6 t% I* Z7 W; Ygrid on
    8 x0 a* {+ F* M7 B6 Eend
    6 e5 F9 m& P8 {$ _* ]. `2 sfor i=1:num
    9 v7 d* i9 b. A6 y, t  h2 p" Bx1=Fw/sqrt(1-(sin(y1))^2);
    3 b% |4 s+ i8 x! y. i  Um=(x1*y1+i*pl*l*g)/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;* w) c$ ]: c- W0 p* s, m9 C
    y=y+m; # }0 T$ X! c" Y/ \7 D* f
    n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;. D2 U8 c1 u6 w$ V1 e
    if j1==0% a% R9 U" i1 M1 f" k
    y=eval(y);
    # K0 s% ]8 X; |' g# \! sn=eval(n);" t+ d, f* a4 ~' U0 V; y* _; n
    else
    ( a% S! @' r% h  P0 f/ zend/ }# L! A4 ]. h5 N$ B
    distance=distance+n;
    ; W0 ^. b1 u6 y' g) Wplot(distance,y,'o')
    ! R; c5 H  X9 t" m3 rhold on/ d  a( }4 L/ B4 V- P
    end
    , f& a: `0 ^0 ~& x& R* mend+ w7 G8 B+ |; W/ s9 f$ k1 K2 F  d
    m=0;7 e) h0 o/ U; m) M
    for i=1:5
    / b5 b0 I! y4 B0 Bm=m+cos(theta(i));
    6 M7 Q/ Z5 Q2 P* Q$ j" }end3 x+ P1 P+ l+ W. c# w" p
    %浮标的运动半径  s) C% n4 r* \/ O8 T& I6 `
    disp('输出浮标的运动半径')
    " @5 z& Q# q3 k$ `3 oans=distance+m
    & n7 y% M" i  S9 E1 R& ~5 y- p/ x& i/ k7 b
    & `& P$ x6 _# s: z
    + T; L! W/ I, P( D8 g- A8 ~8 o9 K

    4 f0 z4 I9 _( z' {
    : m+ |! m8 ~2 r6 g6 J& Y7 ]* \$ o' h3 C3 o# b
    . A* F& m  k- l7 N/ n8 `

    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 21:12 , Processed in 0.453710 second(s), 60 queries .

    回顶部