QQ登录

只需要一步,快速开始

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

    ! W. Y& X  u& s9 K, c
    * r  M0 ]0 \: T2 u
    0 @4 x6 f5 F. k9 B; p0 i7 P% w% Kclear all;
    ! C3 F1 }, _" i3 _. z: d: ]close all;" }5 |! f, h1 a( L5 _
    clc
    7 f* {+ h  u; ?( Z, b2 Sformat long7 a8 B. S6 Q* c/ ^
    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;# B! l1 W2 B2 s9 @, _
    F=[];
    ) @7 x4 T* P; k( a( Q* ?: ^3 `  @! Dtheta=[];
    $ |* k6 h2 M) Y9 \& Cv=24; %风速$ K. r7 k+ n6 T9 O: c8 c1 p9 g7 `
    l=105*10^(-3); %锚链每节链环的长度
    + X7 G+ L5 O; N+ q% \, O7 G* ]L=22.05; %锚链的总长度( N" }* n. H: K
    num=0; %通过更改不在海床上的链节数得到一个最优解
    ! D3 u" W6 W+ \$ }" d) s" lnum1=round(L/l);
    ; E# y% D5 [7 I  N  ~1 e3 ^/ lnum2=0;+ g3 P" g' b0 I2 }
    lin=0/180*pi; %第一个链节与水平方向的夹角
    9 R+ u" d8 [" i* `lin1=90/180*pi;
      r$ V  ?; s2 i* t: `lin2=0;
    ( H1 f/ ?5 N9 Y# P& a; sm2=1200; %重物球质量
    * _) W( A, z1 e* e4 @% Lpg=7.7*10^3; %重物球的密度(单位:kg/m^3)
    ( [' B, f2 k% s  @0 R/ e1 adepth=20; %水深
    % d- l) U/ }8 ]2 V! M1 Apl=7; %锚链单位长度的质量- w) w  L! V' Y1 ^+ F8 G! R% M
    vh=0; %海水流速' r! U* F& }4 F0 a0 ^
    g=9.8; %可通过改变此语句来修改重力加速度,单位为m/s^2' C; b( {3 H' \% T9 v
    p=1.025*10^3; %海水密度
    6 ]- o) V- ?1 B  `. Z: }+ `M=1000; %浮标质量
    : i$ t4 J; _' j, l" G7 |' Tm=10; %钢管质量
    * `5 `" y& q: y  e, ^m1=100; %设备和钢桶总质量: q4 G. [0 `9 h: _) F
    y=0;, ~# T8 ?0 T0 a# G- P: }& T% j
    d=1;
    . `  x% x7 Q+ r" V. W( d2 t+ Ej1=0;7 w, E8 D# i/ X! y7 b+ G9 P& _$ }
    j2=0;: x7 C6 ]' b# X: F
    while(abs(y-d)>0.005)%在这里选择所需要的精度,- P) X) i7 k/ W; L8 G
    if (y>d)&&(num<round(L/l))
    6 Y: p" G. V/ }- Hnum1=num;
    & V- ?8 ]6 l' p; ]2 y; l# unum=round((num1+num2)/2);
    6 d- R  |& `7 E* U" C; {elseif (y<d)&&(num<round(L/l));
    & {8 O! z4 d8 ~5 |5 q* n3 \0 ^num2=num;
    # U9 N$ Q. P2 a( r  hnum=round((num1+num2)/2);8 D. |1 |3 ]2 k. ?4 a" n5 l* _
    elseif (y<d)&&(num==round(L/l))
      X0 c  G3 I0 y1 r- l% m9 vlin2=lin;: p9 l' F4 |) H
    lin=(lin1+lin2)/2;& J' R! }' m* l6 Q+ R. g6 S
    elseif(y>d)&&(num==round(L/l))9 x3 A  y$ l9 U( i
    lin1=lin;6 x- z5 k' T# E, Y+ ^9 G
    lin=(lin1+lin2)/2;
    $ y/ d5 Z6 ~/ Uend
      X% I. R! v! b* X%钢桶受到的浮力- q2 v7 {! h, s' H2 m( g  D
    Ff1=p*g*pi*(0.3/2)^2;
    - e  W# z5 a0 |/ f% Z2 p%钢管收到的浮力
    ' }0 w! q9 F- @: ?7 i+ w. l- |% Y( cFf2=p*g*pi*(0.05/2)^2;
    4 q9 z# x$ O0 a( C%重物球所受浮力
    - c% i8 d$ v* ?/ P' O) mFfg=p*g*m2/pg;# r! Q# A; L. ?; Z+ j) l
    %重物球所受海水水流力
    ' [- U% Y* f$ o; F0 vFhg=374*pi*((m2/pg/3/4)^(1/3))^2*vh^2;2 J, D% o! c$ f1 V) A4 L/ m* {
    %风对浮标受力面的投影面积$ ^% C- {8 @$ J; ?' [8 e- U6 N7 z  [
    S=2*(2-h);% u7 \% G3 x- c2 C  h
    %风对浮标产生的力3 ^0 b* T# `2 x; j( S, b0 ?
    Fw=0.625*S*v^2;2 g8 O$ F  b6 ~- B1 f" ?
    %浮标在水中的体积
    : d3 T2 ]) ], S0 z, }V=pi*(2/2)^2*h;/ Y3 r8 n& Z: [3 ^
    %浮标所受到的浮力1 b" i2 P% X6 D6 ]$ E
    Ff=p*g*V;: ^5 J6 }( Q. o  |  t
    %浮标受到海水的近似水流力
    4 S5 R5 D* s; Y/ ]+ e4 CFb=374*2*h*vh^2;! Q+ V# g$ X1 n8 K! y6 l
    %钢桶受到海水的近似水流力" @: \# ?% i) G; b# O6 h: |# k
    Fs1=374*0.3*vh^2;( w( r" Z6 K% a' w5 x
    %钢管受到海水的水流力的近似值$ v' \, D, X& m$ }
    Fs=374*0.05*vh^2;
    6 f6 }7 j2 d% C7 L0 e& P%浮标浸没水中的高度! e# J1 Y0 \4 e9 a1 h
    if num==round(L/l), q+ z+ n& O2 s; }2 b7 k
    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));6 J9 K, D5 V* K# e; ~$ j3 @( t
    else " i- b! ?7 N. |0 s- [! ~/ s# ]" h
    h=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+num*pl*l*g)/(p*g*pi);9 n* v/ d1 Z+ D& l8 ?
    end
    : I) I: `- ~9 |7 N& ^a=Fw+Fb;! d1 I4 j/ m) Y' d
    b=-M*g+Ff+(Fw+Fb)*tan(lin);
    2 {& Q9 J/ W$ m8 bif j1==0
    * W4 ]* @' Y5 \' m0 Ba=eval(a);3 ~+ N! D. ?7 [% h
    b=eval(b);
    / W; r1 q- {2 ^* d* J# V/ x+ relse
    ) w/ w6 Z2 {/ g$ a/ ]end. u, t) g/ ]* W0 C
    F(1)=sqrt(a^2+b^2);7 F( u, ^; x4 c* R& z6 |' p$ V
    theta(1)=atan(b/a);
    1 a$ [7 Y) a. o# C4 V$ An=0;
    + j! l+ o9 t9 s! T6 b  ofor i=1:4' q% @  s6 ?/ o! Z. B
    %钢管受到海水的水流力
    7 n" v0 y( J( u+ O# YFh(i)=374*0.05*sin(theta(i));
    + O9 U3 ]# V0 c8 Y) T7 g2 _n=n+Fh(i);
    . K5 y+ s4 q( o, ]  E. v! k) Ca=Fw+Fb+n;
    7 K- g* I/ ]! H$ wif j1==0# p6 \2 z" V% r! r( T6 A: R/ a3 X
    a=eval(a);
    # u2 H; J. }% A0 b. s  N# K/ jelse4 r# [8 |2 b1 K& ?
    end
    8 V  N5 ?! Z; y6 U6 I0 E4 _- db=F(i)*sin(theta(i))+p*g*pi*(50*10^(-3)/2)^2-m*g;3 i2 I( ?& n2 s( l5 B! ^
    F(i+1)=sqrt(a^2+b^2);# @! x- i* `) j! t2 }" L
    theta(i+1)=atan(b/a);
    ! c9 a; U& x2 hend
    6 W$ u6 T4 P6 [- i8 ]/ bc=0;2 @* j; l: {- Y4 n$ ]+ k3 R+ d
    for i=1:5
    : W" c3 S$ ?) b, I/ T$ q8 ^c=c+sin(theta(i));8 S; U1 |4 j9 C' ^; x* w
    end
    % ?. q9 c) ?0 O9 O8 Dd=depth-c-h;
    " l$ `, `2 D/ \- O9 Ey1=lin;+ K4 }# P1 V7 X8 ]$ D, a' K) @  q# @' l9 O
    distance=0;/ d( x. e( [' h: P  |" g: x
    if num==round(L/l)) m% y# h6 [( B* m
    y=l*sin(y1);& z0 u5 c! @- P) w
    x1=Fw/sqrt(1-(sin(y1))^2);/ c& \& P5 w) [; \# w8 t2 m/ }. A
    for i=1:num-1. J# t7 w, _! e( ]3 }; c- T
    m=(x1*sin(y1)+i*pl*l*g)/sqrt((x1*sin(y1)+i*pl*l*g)^2+Fw^2);* f$ j, N3 y4 |3 U# ]# k
    m=m*l;
    $ C, V2 o* X4 Y' Y9 Ny=y+m;
    7 \( a5 Y& j% F; x% Sn=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
    3 I/ p; U) ?9 f- Z6 z+ Qif j1==0
    ) A. S2 r* V8 r6 Sn=eval(n);
    0 H. A( r1 k6 U) x1 y2 d( Zelse9 ~, c4 g8 L) r5 f
    end  {. d8 _1 p- v+ g6 ]4 L$ C/ P" s
    distance=distance+n;4 s  f6 }& @$ S) [. P3 F5 m
    if j1==0
      {" C9 s$ B/ r$ \1 X& T$ Ay=eval(y);
    % d7 c6 ?  O/ r* |; A( y- l0 m% Uelse+ Z3 Q2 e8 x* @3 i
    end  n; k. J& I1 c3 e( H
    end
    , L. Q8 _6 s- _* o1 b8 L3 helse
    1 f. T0 u$ S1 d' j7 my=y1*l;' w) V5 M4 p/ t$ B3 i3 @6 Y
    distance=(round(L/l)-num)*l;
    ' l) v8 n4 K5 O, O3 V/ F/ `for i=1:num
    4 a; x2 D1 b6 G* }/ D# q4 xx1=Fw/sqrt(1-(sin(y1))^2);
    % w* U9 C  _8 \7 J; y  |2 um=(x1*y1+i*pl*l*g)/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
    0 e% a  m/ `4 h# f, t# W9 Y' s) ~y=y+m; % y( K5 \- S3 v$ C  M9 a
    n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
    ( _; n4 f5 q3 A3 O4 e/ ]if j1==0
    : b9 R* ^2 \( C: L7 L+ fy=eval(y);
    8 Z% J- R$ J3 T. {" Sn=eval(n);7 a6 P2 d; ~+ p) z$ O9 `: x# [
    else
    ! `: T- ~5 H+ dend
    - M6 t4 m" C6 L0 J% Q" F2 m) r+ edistance=distance+n;
    / l3 T% ^) J2 `! ]end
    * z3 _0 m, U1 g+ E' P9 r% l" B7 Rend
    ! r/ @7 j2 g+ f, Wm=0;
    9 y! X4 q* y' S( [j1=1;, j7 |7 c7 [) t) ~5 K+ P( V# }: n
    j2=j2+1;& e% I: {' C% s+ z( t+ ~% A& J
    end
    7 g# |; \' W7 x; a%钢桶受到的浮力
    $ Q( T, e3 M! c7 @8 T! L% sFf1=p*g*pi*(0.3/2)^2;
    ' b( E9 z) F2 r3 c7 n) U- R%钢管收到的浮力9 H; |( B/ r0 X. c5 i$ `
    Ff2=p*g*pi*(0.05/2)^2;
    ( L8 [$ w0 [# \2 x8 A& S%重物球所受浮力, k! H4 n% Y) x5 A9 ?1 C
    Ffg=p*g*m2/pg;- [6 E3 w2 S5 x7 S  p8 Z4 ^
    %重物球所受海水水流力
    , w& G7 R- ]* J1 ^  ~Fhg=374*pi*((m2/pg/3/4)^(1/3))^2*vh^2;+ V6 ]; }0 W! p
    %风对浮标受力面的投影面积% w, u$ G! M# t; N1 C
    S=2*(2-h);
    / x" A7 u8 j5 c9 ]2 m1 k- C4 h) i+ c  M& i%风对浮标产生的力% I+ n9 k" Z9 B
    Fw=0.625*S*v^2;
    3 r* V$ o0 s' M7 j# M+ K; k( `%浮标在水中的体积
    ( E4 m- U3 @# A4 oV=pi*(2/2)^2*h;0 k9 \" D: }% r4 K1 P8 D: I% Y
    %浮标所受到的浮力
    / X$ z3 R& X0 a, q: d5 ?8 Z+ [4 @! sFf=p*g*V;# _, k$ H- L+ O$ }4 f" V8 I) }
    %浮标受到海水的近似水流力
    " f1 ^% `& Y4 J. E( ^6 ?Fb=374*2*h*vh^2;& [( |/ m4 h, |3 a) t4 m
    %钢桶受到海水的近似水流力
    ; z; W7 Z) s/ y; K; b, eFs1=374*0.3*vh^2;
    : N% Z3 ?3 E6 E! M: h%钢管受到海水的水流力的近似值9 w( E* B. L8 ~9 Y6 B5 \
    Fs=374*0.05*vh^2;
    / G& S& \' V' m" _/ h2 j! M%浮标浸没水中的高度
    6 U" e% o2 E- w" bif num==round(L/l)4 v6 k% c9 e$ _
    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));
    # u- |+ [. r! k( k1 gelse # \* D1 _% K! }! E8 X9 V, ]
    h=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+num*pl*l*g)/(p*g*pi);" ~1 J$ d3 k- `2 t; t
    end
    1 P9 x; I" L/ v# ia=Fw+Fb;
    ) Y2 z2 w+ V- A, Y% Xb=-M*g+Ff+(Fw+Fb)*tan(lin);
    8 M3 \1 e9 g! O# z& tF(1)=sqrt(a^2+b^2);+ ^/ P1 S5 |( h
    theta(1)=atan(b/a);3 k$ i" k4 `, O' h# |0 ^3 W
    n=0;
    , n7 i: @+ m( N, S" Cfor i=1:45 S; {0 b4 {7 Z! I0 ^+ n
    %钢管受到海水的水流力
    ; J9 l7 W4 L  [3 X1 EFh(i)=374*0.05*sin(theta(i));/ K8 g' f, z( n2 ^2 |
    n=n+Fh(i);
    ) ~4 T* k$ W) ~% p. a$ @7 d' ~a=Fw+Fb+n;& S0 }/ H  b3 G
    b=F(i)*sin(theta(i))+p*g*pi*(50*10^(-3)/2)^2-m*g;
    - c4 B6 u. K" Z) q: T  _F(i+1)=sqrt(a^2+b^2);
    ' F$ L% R# P9 ~# ttheta(i+1)=atan(b/a);( |1 n9 n" k7 z0 j8 ]
    end7 z* S% V2 M& b6 j3 C
    disp('输出钢管和钢桶的倾斜角度(角度制)')
    4 @& t9 C+ h% q) A7 l  Yth=90-theta*180/pi
    2 D* ], |1 B4 ^, jm=85*pi/180;
    & u; ^. w& g! X" Zif theta(5)>m" N  |. c# w$ Z& d
    disp('钢桶的倾斜角足够小,测量准确')# h4 ?  @, W/ \! }2 M7 G7 w$ l$ k
    else
    . w! f! `. S) Z) Vdisp('钢桶的倾斜角过大')" K8 y, [: j4 J/ l) i
    end
    % f' g( V1 T- m& R% r) H: Bc=0;
    % u! v0 g* J3 I* v! v' V" T# yfor i=1:56 E; o" d8 X5 e$ _! o* o- ?: _- L
    c=c+sin(theta(i));
    4 m" ]- t( x5 k; x2 rend
    & ^! w2 S& P$ T  d9 f/ [d=depth-c-h;" [. j: E! G, `
    y1=lin;
    1 x4 z# c9 D( F% E5 o- d+ Ldistance=0;
    # r, V3 U* \. Hif num==round(L/l)
    4 p% W2 |; _# d( V- Q9 {y=l*sin(y1);
      u7 M3 g3 P% Q  k( S' }x1=Fw/sqrt(1-(sin(y1))^2);
    / |: ?  J0 S$ B; c1 Gfor i=1:num-1
    8 @' z* R3 `1 q0 i- o. @, g7 |6 tm=(x1*sin(y1)+i*pl*l*g)/sqrt((x1*sin(y1)+i*pl*l*g)^2+Fw^2);
    - O) d: K4 ]6 ]- T$ ~3 }& G! vm=m*l;
    ( T9 H2 |3 r: s- q' ?  q5 Qy=y+m;
    5 v+ y9 D0 o8 c  x: O, Vn=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
    - x2 j$ J$ w/ ?: V" K$ g2 e. adistance=distance+n;
    % }$ v/ i* z. {! o- O9 kplot(distance,y,'o')
    8 n3 @! Z: k0 X/ _. ]5 jhold on
    7 L0 y- T( {: G. I$ M2 J2 rend
    6 M3 X8 r: {" N5 O; s* G1 ^else
    $ M- [0 G2 {; Y3 O/ u# hy=y1*l;
    4 }7 V( U: J1 J( C7 ofor i=1:round(L/l)-num
      I0 R  l3 a/ Cdistance=i*l;
    ; L$ ]2 j+ A$ C) O: Jy=0;
    + Z* x4 M# D1 L/ i/ vplot(distance,y,'o')
    $ O& {" S9 z9 J, ^. S. m/ bhold on
    8 X, }3 u, n* [6 zgrid on
    - \- d5 L$ w& M; Xend
    ( M- i- b; ]7 _2 \2 |) Z0 f. ^0 Rfor i=1:num
    " z' t: e8 e" W' Xx1=Fw/sqrt(1-(sin(y1))^2);
    $ c% g9 ^4 S' S$ T; om=(x1*y1+i*pl*l*g)/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
    / a+ E0 [4 e4 |9 M6 O; n+ g% by=y+m;
    7 s- W0 r1 c7 c% `! s& N! A. f# ln=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
    . v7 H- t. @6 I6 u4 ?. [if j1==01 p' n9 B, g* F3 _8 E6 B' ~1 o  C
    y=eval(y);
    / ]8 J0 s! M' {4 c8 Hn=eval(n);
    5 W/ ?0 i3 a, k' s: r5 relse
    7 k% n$ l+ C! g5 |end7 Y% E2 q0 X, H" @* e
    distance=distance+n;( z: p+ c! o- a* _' m! @% z$ }
    plot(distance,y,'o')
    2 h$ m& J/ G' z! T2 |& N' Rhold on
    " ]2 H7 t- h% K8 Tend
    6 e. C  q% h4 wend
    & |# |$ ^% a6 m, s- S, Lm=0;
    % ]# v, ]6 u9 R  V8 Q  r' ofor i=1:5) G( ?, V0 a; d! ~0 x4 q" k
    m=m+cos(theta(i));2 Y1 @1 u- }1 g8 B6 _
    end
    9 X4 @' }5 }- o" `%浮标的运动半径* M7 `3 R2 o$ ?9 }2 ?
    disp('输出浮标的运动半径')3 ~! t) ~# m! J
    ans=distance+m
    . I) l: o  S) L! N, v# E/ x% F! S* h0 f( R' M% V3 V3 a6 O0 v
    9 Z. x- ?4 W: x2 y9 s

    : Y3 C! `8 r& J( n4 f, V# ]% ~1 {, T
    ! s8 f0 S: s& [# ]' b6 a4 z# J2 S- \- R4 x* C+ [8 n# g5 j* n
    - \3 e* N  `6 r' W8 h4 X- e, j; w+ X

    ! O$ e$ }8 G- W6 f( d5 S' d7 e# S/ 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-6-14 18:29 , Processed in 0.875732 second(s), 59 queries .

    回顶部