QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4898|回复: 2
打印 上一主题 下一主题

2020全国大学生数学建模A题思路讲解与核心代码

[复制链接]
字体大小: 正常 放大
杨利霞        

5273

主题

82

听众

17万

积分

  • TA的每日心情
    开心
    2021-8-11 17:59
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    网络挑战赛参赛者

    网络挑战赛参赛者

    自我介绍
    本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。

    群组2018美赛大象算法课程

    群组2018美赛护航培训课程

    群组2019年 数学中国站长建

    群组2019年数据分析师课程

    群组2018年大象老师国赛优

    跳转到指定楼层
    1#
    发表于 2021-7-16 16:32 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    $ ]; j: X# h( ]  l4 V# `
    2020全国大学生数学建模A题思路讲解与核心代码3 g8 t$ E3 f+ l

    8 {9 ]% z  [0 @. R8 ^& i/ R/ a1 V" }' r2020全国大学生数学建模A题思路讲解与核心代码
    . j- U0 E6 c" b* L2 ^  |# F$ e! H" N题目
    9 t5 j9 j  |& @/ h核心方法:
    9 _  ?! E! e4 H: Z7 ^问题一
    4 W6 p. N! b+ Y. S3 _, j问题二+ V6 b  {0 o( ]$ R8 e8 n- V& Y2 ?: ~
    问题三和问题四( ~) }' L& l  X! w! k) _6 J7 G
    答案如下:
    ( z/ g8 D, o3 q' _( m" B* c5 _% K题目
    " p2 O5 f# U- y( U" t9 d- Z3 }, b% W: P& f; Z% H2 G
    4 y- n8 O2 ~; |) y# ?7 \' H
    & C6 x6 w- X5 M' k! M

    6 ^) q$ w/ Q5 V* S0 D) d+ {4 h# ^7 b& F. d! \# _9 A

    * N# ]% }% V+ Q核心方法:% Y; M0 \, H3 F6 F  U5 h$ B5 k
    热传导
    & R5 C; T. V: _( u1 v7 G! C( s2 n有限差分法
    9 g2 e0 c0 K0 u7 w& \1 k( b遍历法8 o8 e1 e4 G3 j9 W) F
    9 Y; ?& }: ^" r- m7 I* f$ g
    ' m1 ~4 o' s6 r" D) U0 n8 k# o
    问题一) I' @5 s5 t& o  V4 s3 K
    建立焊接区域中心温度变化规律模型,推出焊接区域中心温度与其厚度和PCB 板所走过的时间的关系。查阅相关资料可知,由于自动焊接过程中热量传递复杂,因此对模型进行简化,只考虑一维方向的热量传导,即单侧单方向小温区对PCB 板的热量传导。利用能量守恒定律和 Fourier 热传导定律推出热传导方程,再利用附数据件求出方程中的参数,进而建立了焊接区域中心温度变化规律型,即炉温曲线变化模型。依据建立出的炉温曲线变化模型,根据问题一中所给出的各温区的温度参数T1, T2, T3, T4 及过炉速度v,需要求出过炉曲线,即焊接区中心的温度变化! e3 K: r, g$ ]% W( q
    ' X/ }. c  l' S1 ~' R
    , A- x) }( p' ]. z
    对于热传导方程的求解,需要先确定热传导方程中的参数—热扩散率,这6 g% D  k7 h) v# W9 V. [$ b
    可以通过附件提供的炉温曲线数据进行参数估计。热传导方程的求解可以利用差分法进行。
    : {$ E8 a& [4 Q' L% H4 b/ q+ o5 z7 G' j

    & e, b. I/ V) f! y9 ]2 p// lamda的计算的部分代码
    , d/ m% [* t3 Warray=zeros(76,length(x1));, ^+ Z6 ~& d/ q- q8 h/ L; [* x
    array(1,=y;
    % X0 m7 i+ G+ L) n8 _array(:,1)=z(:,1);6 p5 _  k* W# `( w1 |) p- ~
    for k=1:31, C* B3 L' }* U: _  X) B( D6 s! I
        for j=1(1)-1) s( ~5 ?  z9 B" F6 Y2 ?) o# Z; G
            for i=2:75
    ; \9 Y  V; L3 |            array(i,j+1)=array(i,j)+u(k)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
    $ R  X2 C4 K3 K) h        end
    . K/ |2 N) D7 z! F8 b* O8 E        array(76,j+1)=array(74,j+1);
    9 K% c4 N2 W8 W( K+ x( z& x    end) o( m2 N+ c1 f. W* d; l
        e1=1(1);' i& t1 v4 u8 Q- f. ~. y) e
        e2=time(1:5,;' Y8 g/ N" g2 F. O3 S
        [C,ia,ib]=intersect(e1,e2*100);
    1 V1 o9 l9 d$ |$ Q' J4 `! y    for i=1:5% Z: S4 u: q* m) |9 y/ ~
            b(i)=array(75,ia(i));  f# F* [' I4 [; n
        end
    1 Z$ z* d& {- ^6 n) y3 Z6 b    for i=1:5+ Z0 ?$ O3 M1 V3 ?9 U9 c% H
            c(i)=(temperature(i)-b(i))^2;
    $ P1 s* ]0 c& a2 \2 a! K! L) _    end; q1 n. R3 V: }. Q
        rss(k)=sum(c();
    4 C1 f# g9 w2 x! m1 J6 g, Wend- t6 V+ t' @, O0 o) T8 q
    result=[u;rss];+ h, f1 S5 B# o3 |: n5 G
    1
    ! ]' E7 a' Z. `$ K" o- X" U2# ^* a% T6 y+ i. Z
    3
    1 C  x: @* a# ]3 m4; Q. }" H6 u' _- W# n# \1 ?: h
    5
      N( @) A! m9 C  y/ ]+ O6
    * S( u9 e. s& y3 ~3 P% B6 y# V7* C0 \5 s+ f2 U4 ^
    8. t, W, \! G8 d* v9 B' D+ M  N/ Q
    9
    & J4 z& H; O( M! A. u10* k& X4 ]+ f3 v! O9 n! p+ y- f
    11
    : L$ g$ {3 e) [  ?, C# M; G6 e7 l3 t12( V* h. N' g0 l9 ?2 K5 R
    13
    9 |6 O( U+ W; M145 @. J( S' h3 G( B) v, P% c
    15
    6 c- {. q- P" e- ]  d16: c% _+ [5 W% l- B+ J
    17
    : r" l2 h7 s1 R6 a' O5 |. T9 T18
    8 d" n; v* a/ @6 k# `& u2 P19
    7 v/ r* D; t2 ^20
    5 P+ s" I6 U" c) w  _- R* b# {21
    : e* c: j" b. L6 |3 P% e22
    / e2 `: O5 e/ |- u8 {, m23. s4 l: K8 t( f# a
    有限差分的核心代码:" E, I) {( r+ d9 X( g3 X* P
    1 b4 ~! j  H' ?* R2 d% P* u3 i

    ( m4 M- o, d6 b  q# ?4 {//有限差分的核心代码, r2 ]4 ?7 M0 c8 }
    array=zeros(76,length(x1));3 `8 Z7 K2 D. p- m
    array(1,=y;; U& W4 i. P$ f& Q
    array(:,1)=z(:,1);3 N0 |3 ]0 m- j: B) T0 T0 ~
    for j=1(1)" {+ H1 E- X! K6 K& f' \9 z
        for i=2:754 d6 ^, {" \& P3 e$ E' ]. m
            array(i,j+1)=array(i,j)+u(1)*(array(i-1,j)-2*array(i,j)+array(i+1,j)); & M. s, u( d- \6 Z  Z2 H2 y9 w
        end  }/ X: _8 a/ O5 l
            array(76,j+1)=array(74,j+1);2 D* ?: y/ |6 _1 f/ @. S
    end, D# |6 G% @. w8 b4 U
    z(:,2)=array(:,2143);
    # X  W9 e- G4 h7 [+ h) n2 X) z; jfor k=1:91 ?9 b; E  R1 f7 K7 b' ~
        for j=L(k)(k+1)( D) Z+ w! b0 j5 r, t: B4 |" [1 Y
            for i=2:75# v8 q* q( W6 k
                array(i,j+1)=array(i,j)+u(k+1)*(array(i-1,j)-2*array(i,j)+array(i+1,j)); . P1 B3 N5 s* n( I
            end
    % |& T: |' R) e+ u2 s            array(76,j+1)=array(74,j+1);% s3 Y( I  G1 A  N
        end2 ]( ]* O' Z6 r  v
    end1 @, E/ J; {$ Y  p% c
    array(:,length(array))=[];
    & D9 K3 d2 L7 d( P# h
    5 ?4 w) I' p* b* s& J# {

    6 Y* O- p. ]' h' @1, l$ k' C; }) c2 I7 }1 K
    25 ^3 ]8 l$ }8 m/ r; n2 D
    3$ N. T7 G; P" H: l2 C0 z
    4
    # I- O) i) T# }/ l4 \) y5
    8 W8 e, I; d$ A9 \  Y; w6
    : s3 v7 D( p2 K) \& D8 E( J: K, [7
    / g$ J" k' L- {7 v# M% w; d8
    $ h7 E5 d) S" Y+ @3 G3 T9
    ' q4 P+ }, o  H$ {; G10
    7 B' N3 P  m/ {8 W11
    1 z( q; s. s: \7 `12
      o0 S& C  l4 }0 F" m1 u" Y5 [13* d$ y" ~8 e( G- O2 A9 i3 L
    14# S; s8 ^* z/ h/ y
    15' P9 ?8 e/ K4 B5 f
    16
    0 K6 ?% U2 d3 l  E/ r+ [17+ M: E' z# |& I5 s
    18! v- z% B7 E. ~8 V1 z3 a) z
    19) w/ p3 o4 }; T5 T7 `* D
    20
    : d  d" ~' i& p, ?" f21
    6 q3 h2 _4 g: e, p" |得模拟数据和真实数据对比得炉温曲线:5 |: ?3 ?  d3 a

    , z4 i2 K0 p3 }* G) F. T1 v' o

    : M: f7 l) I( C4 u' _) l# |6 Z* P2 j
    9 v5 Y5 l6 z! K! r
    问题二
    ) a, |4 h5 N) t问题二中,基于问题一中所建立的炉温曲线模型,在四个温度参数给定的条件求取传送带的最大过炉速度为优化问题。此问题可以看做是问题一所建立模型的反问题,即在温度分布% e: |5 G( k% R- N
    已知的条件下,要求通过该分布计算最大过炉速度v。在具体求解该反问题时,可以利用遍历法对过炉速度进行遍历搜索,这样就将反问题转化为了正问题的求解,从而问题一中模型方法都可以继续使用。
    , i2 u$ `4 G/ {5 f$ k, T  [% w& z: W' @0 t0 H6 g: _9 o/ z2 f
    * k, }* ^; _1 G. v* q' S
    问题三和问题四
    / N) f* ?! [3 J7 Z问题三和问题四仍然和问题二类似,也是对过炉曲线提出了不同的要求,进而在这些要求之下确定影响炉温曲线的 5 个参数 T1, T2, T3, T4, v ,求解也可以采用与问题二相同的遍历法进行,但由于此时遍历的变量个数增多,如果遍历步长较小,必然会使得计算量增大,因而必要情况下,可采用分阶段的遍历,即:大范围,大步长,小范围,小步长。需要考虑的就是对于面积和对称性的数学描述,面积可以采用积分的离散化表示,对称性可以采用以最大峰值温度两侧取对称点,使对称点的温度差值尽可能小来实现。6 Q, ~6 S# a: K# C* O" d' Y

    - u+ m9 P. z8 a, [* \+ _# W; A

    / ?! K% V: O# {! Z答案如下:! ~1 {; E/ Z  z1 ^& O6 S3 v
    ! p  J% t# B+ @5 q: e0 i

    * g( j, g8 h" ?4 u# u注:用以上方法算出的结果均在最优解范围内,详细解读请待下次,困了该sleep了. X# A$ i7 B2 @' U
    ————————————————- F& O: P3 [$ l" D6 ?  K
    版权声明:本文为CSDN博主「盈博简」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。2 l+ ~; N( n4 p* [& I$ {
    原文链接:https://blog.csdn.net/Sandm_Hou/article/details/1127266352 c  `, ]9 l4 ?# i

    8 N- d8 j' X5 Y& Q2 k( B5 f% c3 U, u0 R2 g
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

    0

    主题

    10

    听众

    299

    积分

    升级  99.5%

  • TA的每日心情
    开心
    2023-10-14 10:28
  • 签到天数: 28 天

    [LV.4]偶尔看看III

    回复

    使用道具 举报

    0

    主题

    10

    听众

    299

    积分

    升级  99.5%

  • TA的每日心情
    开心
    2023-10-14 10:28
  • 签到天数: 28 天

    [LV.4]偶尔看看III

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-11-5 14:13 , Processed in 1.052494 second(s), 60 queries .

    回顶部