QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1891|回复: 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
    6 I% K7 b( w( x7 [6 T# m0 N
      H; t+ M! m) h1 W" P+ C$ `- v

    6 L8 r4 W+ }  C; y, R) F; ]clear all;
    ' d+ [! S3 Z; ]$ P  u+ l$ ]* gclose all;
    ( @) o$ x: ]; Oclc
    % M0 a& x6 o) B, x* O2 f8 cformat long. E- R3 ]9 A2 U9 p$ n9 i! v0 b* r
    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;
    7 M% G# R7 `( v! F+ H9 m! |F=[];0 J% u" R1 h& \' D: l
    theta=[]; - B) W. }% T! W$ C2 L9 i& D
    v=24; %风速
    - C4 d- f/ a# ?4 zl=105*10^(-3); %锚链每节链环的长度
    " c% M; s1 ?% W  [$ j* v1 ]L=22.05; %锚链的总长度) H8 [( B" w+ `) ~6 g6 w
    num=0; %通过更改不在海床上的链节数得到一个最优解
    2 ^& r" |) e7 A* l2 _num1=round(L/l);- c: z  `* E1 c5 A2 [0 W
    num2=0;8 E) j/ E9 ~7 J: F5 y4 T& E
    lin=0/180*pi; %第一个链节与水平方向的夹角
    : b( P" [$ ~5 A+ r' ulin1=90/180*pi;, k! x: s& H& k, N
    lin2=0;
    * {: B. l) e5 R  X( Y6 g/ S7 Tm2=1200; %重物球质量# ?6 @2 V3 M; z1 u4 M8 g* b; r( p
    pg=7.7*10^3; %重物球的密度(单位:kg/m^3)
    1 M% Y% z" Q: [, r& g5 u  ?. Tdepth=20; %水深
    1 X6 U9 \% f. ^( e1 ypl=7; %锚链单位长度的质量3 U+ a4 o# i, o2 B* S/ ]
    vh=0; %海水流速
    ! x. Y2 d4 ]' q& N. F9 rg=9.8; %可通过改变此语句来修改重力加速度,单位为m/s^2% Q8 ~/ e3 Y; Q' B
    p=1.025*10^3; %海水密度
    : D3 m- t# T, l- R0 C- uM=1000; %浮标质量
    # M; V5 Y$ Y+ Z" jm=10; %钢管质量
    , w9 a% y( S2 C7 Km1=100; %设备和钢桶总质量
      E8 L: I5 p3 O5 M4 }0 ry=0;+ O8 C; ~( }& E( ?
    d=1;
    $ |9 v, h+ u7 x! S/ J( f" R/ ?j1=0;5 a' d6 O' A, z: a7 v' z, w
    j2=0;
    * Y) U$ A( I$ X6 c; @! Bwhile(abs(y-d)>0.005)%在这里选择所需要的精度,( a; i6 g+ P! i" R
    if (y>d)&&(num<round(L/l))
    7 P- v' W, F. J7 @- knum1=num;
    . c6 y( S- R0 e4 C% \num=round((num1+num2)/2);; o  G8 f- S& k0 A4 |+ n9 o0 n. m
    elseif (y<d)&&(num<round(L/l));0 c! B4 ~) _$ Z* ^. o: R1 d
    num2=num;
    - M) q. Q8 N2 B" q  c9 B- Unum=round((num1+num2)/2);
    ' p2 I( ~6 D$ x& Oelseif (y<d)&&(num==round(L/l))
    * a  J1 z( ?- S  p* Glin2=lin;& {* i8 E" f( B" [) `+ ~
    lin=(lin1+lin2)/2;% }: n+ L4 g3 O7 X2 q( I6 j8 \/ e
    elseif(y>d)&&(num==round(L/l))
    5 S4 p( i4 ?1 ], z0 I2 o$ B: ~lin1=lin;5 e- |, `7 Z0 x* V/ C- a
    lin=(lin1+lin2)/2;
    3 S9 k/ O. `5 H0 _end6 l0 a( B7 z1 Y( }* m
    %钢桶受到的浮力/ R& K! i. U8 j& Z$ ~
    Ff1=p*g*pi*(0.3/2)^2;
    9 m/ m/ A/ ]+ T0 v9 i# {0 u%钢管收到的浮力
    . K9 q8 J" s4 v6 l. j8 oFf2=p*g*pi*(0.05/2)^2;
      p$ r" x, K! c# v& P/ z" M, W%重物球所受浮力5 H9 P% q( a" b6 C& [
    Ffg=p*g*m2/pg;3 M( ?; M9 F- Z8 w" F6 o1 `
    %重物球所受海水水流力+ ]8 w! K0 d' K3 d9 b4 e
    Fhg=374*pi*((m2/pg/3/4)^(1/3))^2*vh^2;- J' Z, [/ B$ P5 {. Q
    %风对浮标受力面的投影面积
    , A0 N, n# W$ I+ M+ Q4 S) KS=2*(2-h);2 z* P/ W; f8 B' S% d4 }( g
    %风对浮标产生的力& M" ?+ Y1 o. U5 z4 {' |+ q
    Fw=0.625*S*v^2;! V# D  f* s# U3 N# z$ n
    %浮标在水中的体积
    8 |2 q; p" Y9 @( j' m( x5 V% MV=pi*(2/2)^2*h;$ O- h& l/ d8 t% f
    %浮标所受到的浮力0 o. k9 m9 V7 \
    Ff=p*g*V;
    ( ^) T. E7 D2 w9 a7 s5 n' p1 T5 g) O%浮标受到海水的近似水流力4 @  W1 s7 [" B( T3 E  M2 e7 z, m! q
    Fb=374*2*h*vh^2;7 j! [7 g- T# u* D/ e( ^/ V7 ]
    %钢桶受到海水的近似水流力
    1 u3 r$ Y( {! z, RFs1=374*0.3*vh^2;; W2 _3 [& _" i
    %钢管受到海水的水流力的近似值  y: M4 @3 l; d8 l: g( ]
    Fs=374*0.05*vh^2;
    7 M( E& z7 \$ G6 \. D%浮标浸没水中的高度
    1 U2 I8 {# c! C9 B+ I6 Rif num==round(L/l)
      w  o" d' H# a# W4 C( F. ]# k1 {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));! G+ {9 d: ]. ^% z+ C, u: u
    else
    ' \! ]" t" h, Z5 k0 }# Ih=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+num*pl*l*g)/(p*g*pi);; V. g/ s& T$ t; Z
    end
    & z3 r$ y$ h4 U+ {# Y& n6 S2 Ya=Fw+Fb;
    3 ]: Q+ Q7 d& q6 a$ g2 }b=-M*g+Ff+(Fw+Fb)*tan(lin);/ b& O" E$ t* f( f. W
    if j1==0
    - c; q9 |, \5 M, h) y; @' }a=eval(a);
    4 W7 y9 q) o* L! j/ O1 N/ \, J; Ib=eval(b);: Y% T9 h4 k9 k$ p0 S5 g* J. @
    else+ c% K! C) w1 ?1 |4 g
    end& P4 }8 P: M$ Q4 K8 x
    F(1)=sqrt(a^2+b^2);
    5 Z1 S1 c4 e* `theta(1)=atan(b/a);' ?. f- y  T4 Q8 S' s+ i5 J; Q( h
    n=0;+ ]& H% ~" @9 w6 l0 D4 Q' d6 i
    for i=1:4$ I4 P% Z; ]1 Z2 O5 F
    %钢管受到海水的水流力
    2 W; m( P  f" ^9 ?Fh(i)=374*0.05*sin(theta(i));% I; e$ @4 |! n
    n=n+Fh(i);
    # n( S, e3 V  Z0 n0 J3 F/ P9 Za=Fw+Fb+n;
    6 \* B( q1 ]9 k. x6 Zif j1==0
    . F' K) Q2 D8 M) Q. Ya=eval(a);
    ! [' @$ J9 T9 m! C, w& U7 xelse
    & W; h' W1 `0 n, F9 P& Wend  f5 d3 b" i4 a1 i5 O- r2 P
    b=F(i)*sin(theta(i))+p*g*pi*(50*10^(-3)/2)^2-m*g;
    + T8 B, _, {, d$ U6 H1 n, E3 _8 {F(i+1)=sqrt(a^2+b^2);
    + C" g; \# H9 J/ f* @2 }: V  |/ x- V# Q& ?theta(i+1)=atan(b/a);
    ! e+ ]# Y  S* N; u" uend
    1 R/ H7 d+ W# d; C( a) l2 W) _  Ec=0;4 V9 e) o2 B% a7 N
    for i=1:5
    ; [  Y, N4 x  A; _c=c+sin(theta(i));7 `- R+ [$ x" t' b$ x- ~
    end/ \4 a. f/ ?0 |$ Q3 s
    d=depth-c-h;, T5 q# Z) s' v; X4 S/ D
    y1=lin;
    4 Y9 z; M+ O1 P' }( }  N1 D( w4 ?distance=0;% A* ^! U5 J; G' v- i( H/ N
    if num==round(L/l)2 A$ S7 W6 j' q; E
    y=l*sin(y1);, D. a* D( i  i7 ]6 T5 t/ M
    x1=Fw/sqrt(1-(sin(y1))^2);0 z9 ~0 i6 x3 |* g) T8 q+ l
    for i=1:num-1: A  b0 f7 G; e8 U8 w  p' x  G+ J
    m=(x1*sin(y1)+i*pl*l*g)/sqrt((x1*sin(y1)+i*pl*l*g)^2+Fw^2);
    6 K/ b: R- D0 J* u# K- Dm=m*l;
    : |9 |7 c  h& ^9 I& e; xy=y+m;* B& T" W, t. f
    n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
    8 l& i: t$ |- w9 r" Mif j1==0$ D8 m) i5 M( m9 D5 }7 z9 v
    n=eval(n);" J7 `  Q. B: B7 R- ?
    else$ f' s/ |, f( O4 R; n! i
    end
    - h" U( s* K+ M. Y! x0 vdistance=distance+n;" P$ E, I4 q' E
    if j1==0
    " O  {0 x9 J/ `+ F6 ^y=eval(y);
    3 n+ E; \+ n2 m4 ^, W: y' b) \else
    & e, B3 f) N& i& ]; t8 B! q' b# k. w5 g) qend
    : @4 S5 i1 T. r6 N* j+ S- a9 Mend
    2 M, I; a3 }7 ]$ \, s/ _0 x( Qelse) F: U/ N; {+ Q7 j( o9 S! X/ B
    y=y1*l;$ p. _+ \0 V! v% ]  o& t
    distance=(round(L/l)-num)*l;
    $ z" Z2 \/ N  ?. N$ xfor i=1:num
    / ?" t5 R6 R! ex1=Fw/sqrt(1-(sin(y1))^2);
    3 d% Y# g  I+ {1 d) w6 x; Pm=(x1*y1+i*pl*l*g)/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
    - j( Z* s  B+ J7 z" L1 n, ay=y+m;
    2 ^! o/ b8 I# i6 }' h" C) fn=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
    , C: [7 w& W+ C5 R/ j- Wif j1==0* \: |  R3 l# R1 q% x% ]
    y=eval(y);8 A$ a; a& q, E1 Q% U" b4 Q6 |
    n=eval(n);
    4 d% D+ ~$ [5 P% x7 m. ~- velse
    8 ]9 d# A5 [: v8 i& `3 T/ {$ {4 @end' c( ^% ^8 w7 K+ s6 I- X
    distance=distance+n;
    5 ?# a* l& o; a% E5 w/ ?end# T5 B. X; `+ i. y* X4 D% E
    end4 x, e4 o: i5 b
    m=0;8 O7 u& P5 t! z8 R0 F* [, o
    j1=1;
    $ Q& s6 j' v6 Y( z: n8 M. bj2=j2+1;
    ; z  R; Q1 C2 {/ M. Wend
    9 g/ a) B3 k) a5 K%钢桶受到的浮力
    5 w% S. c, I; t# x! `3 `Ff1=p*g*pi*(0.3/2)^2;$ S6 a. e7 w7 w4 }8 d' a9 H
    %钢管收到的浮力
    % J: R; L  o' h0 s( @Ff2=p*g*pi*(0.05/2)^2;$ }3 G/ K& F) _# @+ C3 C
    %重物球所受浮力$ M  |9 j1 U, d9 b  W4 `. I
    Ffg=p*g*m2/pg;
    + A6 C% ~, t2 X& Z. j; ?1 ^$ P%重物球所受海水水流力- v6 u2 ~) M" o% R
    Fhg=374*pi*((m2/pg/3/4)^(1/3))^2*vh^2;+ K$ }% g$ s9 q$ U4 M
    %风对浮标受力面的投影面积; l* y, L( K& }9 \: w" Q" G% S
    S=2*(2-h);$ p5 B0 o( \3 r7 Q6 ~9 \5 v
    %风对浮标产生的力( P- Z. t* x$ Y, `+ _
    Fw=0.625*S*v^2;6 a% Z  \) t; r3 X' `! u
    %浮标在水中的体积
      \  ~8 p" g0 @8 k+ {% KV=pi*(2/2)^2*h;0 B% h" J% O& w" |( W: [& b
    %浮标所受到的浮力' o' S4 B  [5 a9 {
    Ff=p*g*V;
    ) \- _% v3 d3 r: c$ M; \# J: U, I3 \% E%浮标受到海水的近似水流力
    # d$ `$ v4 d; g3 F0 cFb=374*2*h*vh^2;
    6 r! G7 s) I/ W: W* Z, x- N8 ]# }%钢桶受到海水的近似水流力$ Q4 c# X' }( Q, |- L  X. Q# \  t$ I
    Fs1=374*0.3*vh^2;0 b1 ^" E) ^$ L' Q3 A
    %钢管受到海水的水流力的近似值$ _! X$ T1 R" K1 X; R
    Fs=374*0.05*vh^2;
    $ D5 [' n2 B9 ]- f9 P%浮标浸没水中的高度
    8 B( d, ?/ c' x$ C. Gif num==round(L/l): L5 ^! H- I* Y( U& e" 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));+ |' E# M. v8 m' l9 ]
    else 2 Q. q/ p$ e8 M* ~6 L1 i
    h=(m2*g+M*g+4*m*g+m1*g-Ff1-4*Ff2-Ffg+num*pl*l*g)/(p*g*pi);  D. I; @: F% l/ g2 M! h. N, R
    end
    ' |& f6 O# ~9 z4 u, I- N. ]a=Fw+Fb;9 [! T  o, }6 Z4 D. E1 B' U- I
    b=-M*g+Ff+(Fw+Fb)*tan(lin);9 }/ q2 _+ _. G! i9 b" {
    F(1)=sqrt(a^2+b^2);3 \1 `: ]; E( m: S" Q$ _/ S+ v" {
    theta(1)=atan(b/a);
    2 b2 U" d( `8 a# P+ y6 V9 qn=0;
    9 D  i7 {4 E3 j$ cfor i=1:45 V& {0 B. u1 o9 G5 U
    %钢管受到海水的水流力
    6 y$ d0 W4 ^3 n' }) tFh(i)=374*0.05*sin(theta(i));
    2 X0 r! q9 l' c% P6 u) K- I: Sn=n+Fh(i);0 {$ D1 Y1 ~6 N: C6 Q
    a=Fw+Fb+n;; }0 D  k1 K, d) y( m
    b=F(i)*sin(theta(i))+p*g*pi*(50*10^(-3)/2)^2-m*g;5 x! E, |* @1 q# D7 B
    F(i+1)=sqrt(a^2+b^2);/ S3 m) G; N( o
    theta(i+1)=atan(b/a);  P/ ?# p5 N3 a. e, {3 L  X3 P
    end
    / A9 I: q: d  n7 udisp('输出钢管和钢桶的倾斜角度(角度制)')/ z# N" Y3 e/ a( u0 O$ b- t8 |5 l% Z
    th=90-theta*180/pi
    3 H7 K" V) P9 V3 Qm=85*pi/180;- P* Y, P5 `' x# g, ?6 i5 Z
    if theta(5)>m
    $ A9 b0 t* O7 J2 j# M! G. A4 sdisp('钢桶的倾斜角足够小,测量准确'), G" m! F8 I3 M3 {3 r
    else ! F/ T5 Y- {: v* T8 X
    disp('钢桶的倾斜角过大')
    ! s& V: k9 `* R/ G6 b* Eend3 J' \; N7 z6 k, a% l6 P
    c=0;0 B* L- x4 ?' C" [( T
    for i=1:56 u. b* t6 @! y
    c=c+sin(theta(i));9 e5 K* K1 W# I) V- b  U
    end4 y1 ^5 N! s2 b* @( L
    d=depth-c-h;" p" w$ P) @7 }' I( N
    y1=lin;
    % K7 L5 C# g' f5 P/ f# {distance=0;$ K( r1 ^+ R) L$ ~2 i: T3 J1 H
    if num==round(L/l)2 ?; _/ G1 G& @1 ^! W2 u' o
    y=l*sin(y1);
    8 \7 l3 }/ v( Yx1=Fw/sqrt(1-(sin(y1))^2);& k% Y4 g% ?2 u/ j( p! D
    for i=1:num-1, |: \. P$ U6 U2 y
    m=(x1*sin(y1)+i*pl*l*g)/sqrt((x1*sin(y1)+i*pl*l*g)^2+Fw^2);
    ; S% w& l# N/ h5 {  ~3 Gm=m*l;
    + h+ G; a3 ^! Z; c" @8 C+ Vy=y+m;
    0 W, a5 l: P; J& ~n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;3 B, `' A6 ~& t2 O
    distance=distance+n;4 x7 A. `' g. p; Z4 J* m
    plot(distance,y,'o')- p2 T6 |" f9 [( i  F- l, h
    hold on
    * l0 f$ Y+ N3 v' q* @2 Tend' x, ^+ w2 r) A: Q- l6 [6 [
    else
    9 [9 i; x! ], v7 w+ ?. u$ }* By=y1*l;0 ?9 M) Q, L, t# T
    for i=1:round(L/l)-num
    * t, H, p. ^1 ^$ L' tdistance=i*l;
    " [8 R2 `' O7 W5 V. k5 Ry=0;) ~1 t5 l+ L" j8 ]$ d
    plot(distance,y,'o')
    + i; T& h& r  M* G4 _3 y4 w9 ]# ahold on
    ) z6 v- z' x+ ^% Z9 Vgrid on
    0 {% V' w# B: O! @: Fend
    1 ?7 X9 ~1 j( u2 Nfor i=1:num  i5 D6 ]; n1 M  M! N
    x1=Fw/sqrt(1-(sin(y1))^2);
      l3 j1 v, S9 g2 t  a" Xm=(x1*y1+i*pl*l*g)/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
    4 }2 L- F9 D1 Y/ @6 I5 ty=y+m; # f6 `) p% {6 n; v- G+ t7 P
    n=Fw/sqrt((x1*y1+i*pl*l*g)^2+Fw^2)*l;
    2 O  r8 ?. V: I3 E9 w$ ?4 aif j1==0
    ) h3 R% B9 {6 E6 Ay=eval(y);) W9 z7 q9 f3 n- r7 q  g
    n=eval(n);
    & L/ Z' F8 m8 |" K. Y- belse
    4 X/ K+ y! o: {& o$ E/ x/ wend
    + T6 j2 E: o9 Xdistance=distance+n;
    ( Z" O: |) c& j+ F* ?0 q0 Lplot(distance,y,'o')* u  ]! Z" o3 C) ~; M
    hold on* g3 g0 _% k9 n  S! z2 n' S
    end- o5 _. L  ^' a% g$ _
    end
    - z( H8 S- x2 G( D8 t' \m=0;
    : z9 M2 B! L7 h2 Sfor i=1:5
    " K2 \* i2 g; i6 X( gm=m+cos(theta(i));: m0 Z$ ?, B% i2 N
    end! G. M- r/ r- d4 I7 a
    %浮标的运动半径
    % _. l: ?) c8 R& D$ ]- jdisp('输出浮标的运动半径')
    " T  C6 L( u8 u2 G: P3 W' r0 i3 Ians=distance+m6 b, U8 ?! {/ \( l5 n4 u

    7 |1 x8 _4 l# O( t7 |2 A3 m4 s; \0 W6 G4 ~: J

    3 W7 I- O, S) x1 U; c- L
    1 P: v$ _* x0 w
    3 i- j0 o! B; n" _7 p0 k7 H' C8 ?# J

      S  |$ ], K5 p- J

    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, 2025-6-13 17:21 , Processed in 0.531641 second(s), 58 queries .

    回顶部