QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2195|回复: 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
    9 l3 f5 Z6 C; E$ ~7 O
    - H/ X% `$ G1 t; N
    ' N7 C) }1 @- q$ Y
    clear all;( e1 G3 s; Y" q& R. s; U
    close all;0 s+ I& e  p; v- @% ^) {
    clc
    ' N; S4 @" x6 i* I7 kformat long( x) q$ g/ m8 q' k
    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;
    * h. W" B' c9 J( N2 jF=[];
    * \# t7 h0 Y) [5 O; @- W$ [: btheta=[];
    + T7 z0 `% C* u, |( Fv=24; %风速
    4 ~. {! ~* w6 \% U2 J1 D1 v! ?* Xl=105*10^(-3); %锚链每节链环的长度& {& n, ~1 f0 E4 u( n6 I
    L=22.05; %锚链的总长度
    8 k9 }% y* X9 U/ G" ^( U9 J& B& Knum=0; %通过更改不在海床上的链节数得到一个最优解/ Z9 [& ^% }# x) s9 l
    num1=round(L/l);* [8 x6 w9 q1 ~
    num2=0;; y! Z. t9 ?. O; H" B& X' J
    lin=0/180*pi; %第一个链节与水平方向的夹角- B( P5 a$ n/ _( A& v3 Z/ J3 H7 l: q
    lin1=90/180*pi;: {9 ^! \+ Z$ v, I8 o/ X3 x
    lin2=0;
    ( R( w; H, s6 A) ^3 }m2=1200; %重物球质量0 {7 Q  y4 I$ j9 M5 Z$ C
    pg=7.7*10^3; %重物球的密度(单位:kg/m^3)
    & p( e( ~6 l$ e, G) edepth=20; %水深
    + t7 ?/ n( l3 C6 U8 o" @9 Wpl=7; %锚链单位长度的质量" `4 m3 |5 h$ E+ }1 b% m9 Q
    vh=0; %海水流速$ l" z4 H+ Z, l
    g=9.8; %可通过改变此语句来修改重力加速度,单位为m/s^2
    3 w, Y( W! H# D' }# Y6 ip=1.025*10^3; %海水密度% }( K1 ~* |+ |; A
    M=1000; %浮标质量
    , z+ F& Z- b% h3 f" R! v+ im=10; %钢管质量( n# T2 u9 q1 {) K
    m1=100; %设备和钢桶总质量3 k) n7 O+ ^8 k
    y=0;
    7 S- X/ V  s# q8 }9 {2 Od=1;
    1 `$ o! ?0 T. u. k$ |+ Mj1=0;
    2 x/ I3 ?0 [0 q# e0 P; Uj2=0;
    1 a7 w+ l; I8 W8 s& }while(abs(y-d)>0.005)%在这里选择所需要的精度,/ ^/ Q8 f2 ]- c
    if (y>d)&&(num<round(L/l))
    5 V/ n" ?4 u" z8 B- @num1=num;( z+ x, e' H0 x. V
    num=round((num1+num2)/2);) _5 h4 k1 j, g4 F9 D! k
    elseif (y<d)&&(num<round(L/l));
    ; m; U; U0 ^4 A( M! l+ L$ x0 lnum2=num;0 @( k9 K9 L( _, N# }) W! I1 I
    num=round((num1+num2)/2);- R; g( G0 u$ j% }
    elseif (y<d)&&(num==round(L/l))
    9 Y/ ^: Y$ i; g; {; qlin2=lin;, d1 M6 f! E8 t. M# W. o# x) r
    lin=(lin1+lin2)/2;
    9 G4 I: C2 }* `% {/ F/ G! Z1 Aelseif(y>d)&&(num==round(L/l))
    - `5 u# Q$ F! V4 jlin1=lin;0 f' e/ i- R2 r- H  ?( s
    lin=(lin1+lin2)/2;
      |& V7 D( {4 Xend
    + q7 F& r7 G& i8 L6 {! ^& V5 r, v%钢桶受到的浮力3 Z: p0 i/ b1 |$ q  L3 X( ^
    Ff1=p*g*pi*(0.3/2)^2;
    " Y3 |$ s3 F1 w3 K%钢管收到的浮力
    / Y! h& m. |, Y; F- Z% V' RFf2=p*g*pi*(0.05/2)^2;
    0 m0 Y: r0 b* S%重物球所受浮力
    7 X  m$ L0 C9 q5 C9 o2 `( C4 q" IFfg=p*g*m2/pg;
    ( }5 g5 E8 M1 {0 a3 Z%重物球所受海水水流力* a9 ?( A$ {2 P. u1 ?
    Fhg=374*pi*((m2/pg/3/4)^(1/3))^2*vh^2;' P. g; S, e3 k# K9 d% N9 v" }4 x
    %风对浮标受力面的投影面积
    , N4 r0 s5 l% N. c1 h! s2 pS=2*(2-h);
    ! ]( _# c# G9 f3 p8 U# ^9 H%风对浮标产生的力
    . `$ |* C2 c7 p- hFw=0.625*S*v^2;
    5 C6 b( ?/ r" M+ `8 X1 k# I%浮标在水中的体积4 N/ O2 o: j+ V( V
    V=pi*(2/2)^2*h;
    1 ~3 |: f2 t8 E- ^7 d%浮标所受到的浮力
    ; \3 t$ \8 V3 jFf=p*g*V;
    # q4 @+ Y1 T6 j# C' q1 m%浮标受到海水的近似水流力
    ! X! E) T$ r6 p2 e& [  ~: UFb=374*2*h*vh^2;0 O* v: S+ H6 R
    %钢桶受到海水的近似水流力
    + |2 e7 Q: N& d, P5 WFs1=374*0.3*vh^2;
    " h5 }9 K2 K5 y. q%钢管受到海水的水流力的近似值
    7 W6 e+ d" X# k6 I8 ~7 rFs=374*0.05*vh^2;
    + D5 P8 D. o1 M. r+ ^- c5 D1 c%浮标浸没水中的高度
    . R+ a/ \3 y2 mif num==round(L/l)
    4 K% B9 J* @3 _; [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));0 I2 d: N: p8 \" j& ^$ z3 K# H
    else 2 o# Q) \5 u' H1 h& D( _5 H3 [
    h=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+num*pl*l*g)/(p*g*pi);( f( u. a  l8 |; x" P" P
    end
    7 ?3 ~8 E4 R, m. U3 B# ia=Fw+Fb;, F' g, n7 _3 W- l& ]8 t9 L
    b=-M*g+Ff+(Fw+Fb)*tan(lin);/ }0 |3 B1 v7 ^
    if j1==06 Q- _  J5 K9 Y. U2 a/ j
    a=eval(a);6 x7 ^# C6 o" h1 t
    b=eval(b);  ]# J6 J9 |1 K/ Z& u  {6 R/ @
    else5 `! b! A( i3 o* F0 N' h, |
    end
    ; C. Q) x  @3 Z1 F2 P% EF(1)=sqrt(a^2+b^2);
    0 k( n4 k/ [9 y6 T! r" K# P2 n3 j  Z& gtheta(1)=atan(b/a);, l" j5 G. F7 ^
    n=0;; T9 @1 C! N' G1 A, V
    for i=1:4
    7 g' A" G9 q2 G%钢管受到海水的水流力
    5 Z1 V5 }) L/ T5 Q6 t/ s8 c0 PFh(i)=374*0.05*sin(theta(i));
    8 m  }% F$ f7 j' l/ s1 ^n=n+Fh(i);4 b* Y8 T! Q7 z9 _0 _
    a=Fw+Fb+n;. d3 C- ~& v  x; p
    if j1==0
    * N8 V: a  c4 G8 da=eval(a);
    : h+ G* D7 ?. o' selse6 f- f# e2 M( {: u$ n4 z
    end
      {8 k5 _8 X& Z: x" gb=F(i)*sin(theta(i))+p*g*pi*(50*10^(-3)/2)^2-m*g;
    # b' k/ F8 A: u" M3 CF(i+1)=sqrt(a^2+b^2);
    $ `! @" B4 L' Ltheta(i+1)=atan(b/a);1 H1 E9 j7 z; E0 J8 B
    end. }+ X# A, n& G; A' p- ~& d! D
    c=0;& J, H1 V7 {* w
    for i=1:5
    ; v# U8 y: Q, Q: u; G# t  ?. J1 @c=c+sin(theta(i));3 g- t, `  E, Y8 D& c
    end
    & }  o8 L" b: r/ b# n9 ]6 Qd=depth-c-h;. V5 c4 L) ~& v5 C; s/ x
    y1=lin;. M& M- b# j2 o! B5 n' h& I
    distance=0;) _* A" h, O' s% P6 j1 D
    if num==round(L/l)
    " R2 |$ J% h8 G. _y=l*sin(y1);
    1 F" ]  b& h; r2 }/ D0 B' m* [6 f9 D" kx1=Fw/sqrt(1-(sin(y1))^2);
    * z' R( _' r) F6 i% Nfor i=1:num-1
    7 T; Y; Y1 v) m/ \/ sm=(x1*sin(y1)+i*pl*l*g)/sqrt((x1*sin(y1)+i*pl*l*g)^2+Fw^2);
    ) Z5 A% N) j6 j- ]. pm=m*l;
    4 s, v7 K; j) G# ~( cy=y+m;. s1 q& T) l! p, ^3 B) ?
    n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
    % w+ u7 j) S- C8 d4 }if j1==0
    2 c, T7 k% N( f! E. m0 `n=eval(n);
    ' ?& x0 P5 G" D7 xelse; l2 T" }# F; B, Y& R9 A
    end4 B5 R- R# M0 ]
    distance=distance+n;0 h1 k% {  D2 M
    if j1==0
    1 n& ^# j' v0 y7 c* `3 S5 ey=eval(y);; w" W9 p2 z, |: v9 x
    else/ y! {5 y' }5 X2 O7 [, y% p* A
    end
    0 `- V7 k! l. v; L$ ?end5 R- S7 l# e, Q2 g
    else8 |. |: m. j: I
    y=y1*l;
    9 ?" z5 c; E0 y9 Odistance=(round(L/l)-num)*l;( X7 b. W; |* B, q  F  d
    for i=1:num3 t4 N1 O' a: I% F
    x1=Fw/sqrt(1-(sin(y1))^2);
    7 n, ]5 f: b! M$ \3 Jm=(x1*y1+i*pl*l*g)/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
    ) ~$ Q. r6 M* O* ?4 dy=y+m;
    ( A$ k, ?. R7 h0 On=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;$ U% ^- P* D) `( i: g
    if j1==09 G& s$ |4 n* M
    y=eval(y);
    ! p8 T8 J+ P7 C5 Y1 H* wn=eval(n);
    : x& Z" ~3 x/ b% b4 celse
    9 R4 Z( \# E  m) Lend! Y, b/ W/ q/ Z) o
    distance=distance+n;$ L$ W6 _, t) _% _# J' ~
    end6 D/ {+ {6 p, S2 `
    end$ o; o1 W+ I3 @( ]8 m
    m=0;
    7 j$ p, N8 T9 I1 V1 @j1=1;
    ' L1 x% Z2 Q! x% P2 Aj2=j2+1;2 v  y, S5 E- F) Q8 x- F
    end
    & t" f" b5 P/ K9 u& {5 W%钢桶受到的浮力
    ) n* I8 W3 h$ p; {Ff1=p*g*pi*(0.3/2)^2;
    : `! ^. e4 I' {* j; p- J6 ^%钢管收到的浮力
    , K) f2 ^. ^4 c' E" e- qFf2=p*g*pi*(0.05/2)^2;
    9 l$ A& d1 l# v' I8 T%重物球所受浮力
    , |# S) H! X6 lFfg=p*g*m2/pg;: b1 }5 b3 W* _% r
    %重物球所受海水水流力# _, a3 j3 h$ [6 f
    Fhg=374*pi*((m2/pg/3/4)^(1/3))^2*vh^2;
    , n* h, p& w3 ^" \%风对浮标受力面的投影面积
    8 |: ]4 }8 d+ |" kS=2*(2-h);% d; [- [- R; Z" S7 [% C+ d
    %风对浮标产生的力5 r; b4 p. \/ V( v; ?/ O! C( g& E7 t6 C
    Fw=0.625*S*v^2;
    * S" Y! a/ p1 ?/ S%浮标在水中的体积% r. q. V$ t* c  W
    V=pi*(2/2)^2*h;
    6 F. ]7 e: R7 N5 @2 ^%浮标所受到的浮力
    + e& f; U5 g5 GFf=p*g*V;
    7 J0 l# u# r! l% N' z3 i9 k%浮标受到海水的近似水流力4 I5 b4 q# I8 u1 z% C% P
    Fb=374*2*h*vh^2;
    : f' C7 k- f  u2 ~  f%钢桶受到海水的近似水流力& P5 ~5 D9 Z" |9 B
    Fs1=374*0.3*vh^2;
    ) K/ a9 u& p* M' M1 ]& x. J%钢管受到海水的水流力的近似值, V2 A1 F* \) Y. z6 p0 s
    Fs=374*0.05*vh^2;
    ) ?* C$ @( v* c0 [- i! X; j; g%浮标浸没水中的高度1 [# ?1 W+ B1 E9 J% o) {6 N% N
    if num==round(L/l)
    - |6 p) L3 n. i4 k+ D1 D. 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));
    7 r" x( ]8 f0 |5 T0 |' G+ Eelse 9 q1 G- a. c' {0 q# a! N$ e
    h=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+num*pl*l*g)/(p*g*pi);# @: G/ \( }& j7 h* q6 i" G
    end$ q+ J# j8 K0 p( H
    a=Fw+Fb;
    / w( U! ?' u8 K9 pb=-M*g+Ff+(Fw+Fb)*tan(lin);3 Q: Q" V' v8 ^: f  ^3 V9 Q$ c! [
    F(1)=sqrt(a^2+b^2);+ P7 R" `. s3 F- M
    theta(1)=atan(b/a);  _' [* U+ l0 Q0 B$ g0 p. P
    n=0;
    ) s6 m9 R; Q7 X; H/ {! a2 {: mfor i=1:4
    8 [1 N$ C: q& A2 f0 D+ X8 i%钢管受到海水的水流力% C/ \0 _& l% K8 a( q% r* q, A! a
    Fh(i)=374*0.05*sin(theta(i));
    & B# h: A; a: t- kn=n+Fh(i);
      K6 L. M  c$ J& ^a=Fw+Fb+n;% E- B& f: E  W
    b=F(i)*sin(theta(i))+p*g*pi*(50*10^(-3)/2)^2-m*g;. g8 ~# t6 z; Q7 L: g, ^
    F(i+1)=sqrt(a^2+b^2);* ^' i+ Z- z$ ~9 w5 G. n  ^
    theta(i+1)=atan(b/a);) b8 s7 Y: S- }. B) J$ t" d- m
    end2 v# {. t8 e! l- o9 b' j; Q
    disp('输出钢管和钢桶的倾斜角度(角度制)')
    ! {8 A4 k0 Q) gth=90-theta*180/pi+ e  |, Z7 r+ B# X
    m=85*pi/180;; V- l1 ^3 t0 A
    if theta(5)>m, p# y& F4 x5 ]6 t! Q) x9 ^
    disp('钢桶的倾斜角足够小,测量准确')
    4 Q2 c$ B: z# helse
    2 W0 f3 }, `; d4 j* X  r+ Idisp('钢桶的倾斜角过大')
    * C% D, ?1 t1 j4 v6 P3 _* [end! x7 @) R7 d# f( d, _) Y8 h9 D- x( b
    c=0;% E# C) O: J3 V2 ~' T+ T; Z4 S- @- _3 N
    for i=1:58 ]8 R( F! |! N. P* @7 K) n0 X
    c=c+sin(theta(i));  g0 F7 L, w2 m  u* U
    end: H# V5 C. M* g1 v$ d
    d=depth-c-h;0 X! S" w) u! l* o
    y1=lin;
    ) e9 [7 S, S. I+ K* f; Sdistance=0;
    - E3 U' Q5 [, Z; E3 Nif num==round(L/l)
    8 k5 f% R! t8 V; h; f, p' ny=l*sin(y1);% q  W; Q1 Y. F# z9 @
    x1=Fw/sqrt(1-(sin(y1))^2);
    , n% ]/ U* R: Ufor i=1:num-1' S( H6 A" \) n* d+ o) i
    m=(x1*sin(y1)+i*pl*l*g)/sqrt((x1*sin(y1)+i*pl*l*g)^2+Fw^2);  U9 _" h2 |* ?
    m=m*l;5 U; c- d: l  ^- M
    y=y+m;% {* S  m) \, f: g' w
    n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
    2 D* S. G, V1 M$ ^: s  Tdistance=distance+n;
    " P: ~; d, C: H% `1 c; Uplot(distance,y,'o')7 u! C6 Z& I- Q2 g& ^) {" n
    hold on
    & ]. Z2 J7 L! send
    2 Z7 E# G1 q  e5 A' Lelse  K2 M+ D6 N6 ^* j
    y=y1*l;; a/ f/ A( G! o9 b" ^8 G% a/ K, e
    for i=1:round(L/l)-num  `+ i: v$ @' ~0 U+ D
    distance=i*l;
    5 x) o4 N! J: Y6 g9 @: t8 qy=0;4 ?8 L2 \) ?4 n5 `) o) `. j8 h8 R$ B3 {
    plot(distance,y,'o')* x: O& Z7 \/ u2 h: Y4 _& c5 x3 Q
    hold on$ h9 W3 y9 |* v  M: q
    grid on# {$ U$ M9 I1 j" }; v
    end; W7 _7 x+ T6 G1 C* A0 z8 T
    for i=1:num
    % P  b8 O9 S, }% R7 Zx1=Fw/sqrt(1-(sin(y1))^2);6 J0 u+ K5 ], m7 N* K
    m=(x1*y1+i*pl*l*g)/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
    + z& v9 [3 Y' R3 p; }y=y+m;
    / r4 `3 T4 _& l1 K1 w/ x5 pn=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;- J% W2 ~0 [- ]
    if j1==0* Q3 `; j5 h1 h7 h1 ~; D( R
    y=eval(y);
    6 F3 U+ `0 u  c* ^$ ?  |4 ~- sn=eval(n);8 M' y2 B- o6 f( [6 @* ]
    else
    " z6 @. h7 f4 r( f! `end; T' D- J% Y9 r$ z  l
    distance=distance+n;" x6 s* c8 a" s5 k4 I
    plot(distance,y,'o')
    2 J: c. ^, P! z7 [hold on
    % `: v  ^, P& j' y- `3 Iend
    " W7 {, T" n: E( ^8 @end' X# j3 X6 ^0 _% J
    m=0;
    ( e5 c! g5 n+ d; d6 j5 f. G6 }% m' f+ Lfor i=1:5) }4 h: b6 j( v' p& S4 x, O. M* W
    m=m+cos(theta(i));7 ]# @6 p+ C% h: K: O5 m8 r7 R
    end
      b0 y' [7 ~5 ?+ C%浮标的运动半径1 p' X) g9 P$ g) C" f
    disp('输出浮标的运动半径')
    * b- c% d/ Q; P1 C0 oans=distance+m
    . M: d0 e: d" B# s4 c9 r1 E1 Z+ f& u% C! t
    & l; c  U: }' w+ N8 W6 D

    ! H! n- j6 K' b/ }$ N0 K
    . v1 H3 g, [6 ~8 G3 t6 m6 k* `" V: i9 `1 ^6 Y
    5 `! G" f) G9 ]7 H9 R

    ) p8 z, Y7 R# }% s( g3 f

    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-31 08:42 , Processed in 0.500901 second(s), 59 queries .

    回顶部