QQ登录

只需要一步,快速开始

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

    " ]) N; o% s  {; C1 ^2020全国大学生数学建模A题思路讲解与核心代码$ W/ D, l( F% x5 r

    9 W: z3 C# p7 s' T2020全国大学生数学建模A题思路讲解与核心代码
    ( B" Z* v: I4 e  O; t6 x( g题目, n1 [# s8 m5 u) e% B  |
    核心方法:
    ) D" H% U, M6 Q4 q问题一
    1 z# Z. u7 G. P. x% B7 T" g: d问题二
    7 o/ K; C0 |' l& L& ?, f( P问题三和问题四6 U" K" b- r( _1 R
    答案如下:
    # c; [1 W& N  ]* V7 s5 _4 f题目8 V, G7 I4 V3 O' q  o4 w: d$ G5 f

    3 G2 I; w+ ~5 m
    6 `4 g4 |$ |% D. m. \) r
      _5 l1 w. Y7 J

    5 R+ a: D, R# {& f% r- F
    7 M/ \3 H( I9 l1 U4 z

    * B9 K. W* m/ r核心方法:# K; w1 L; J2 R( T
    热传导
    4 }# Y; Q. q4 R有限差分法7 w$ O8 L4 ?/ d! T7 A
    遍历法: }' L* C  W) s
    . G1 L. i7 `8 @1 ?$ `- s. E
      i; M& @/ r: A) [6 B
    问题一
    ) L# x% B5 g' N. H. y: t建立焊接区域中心温度变化规律模型,推出焊接区域中心温度与其厚度和PCB 板所走过的时间的关系。查阅相关资料可知,由于自动焊接过程中热量传递复杂,因此对模型进行简化,只考虑一维方向的热量传导,即单侧单方向小温区对PCB 板的热量传导。利用能量守恒定律和 Fourier 热传导定律推出热传导方程,再利用附数据件求出方程中的参数,进而建立了焊接区域中心温度变化规律型,即炉温曲线变化模型。依据建立出的炉温曲线变化模型,根据问题一中所给出的各温区的温度参数T1, T2, T3, T4 及过炉速度v,需要求出过炉曲线,即焊接区中心的温度变化
    * }+ A0 l3 t) D1 ^% u2 \
    / @. D; C, o! Y3 D6 {0 a7 h$ u$ s
    9 ~7 x5 \9 F9 ]$ r( \  A9 D7 i
    对于热传导方程的求解,需要先确定热传导方程中的参数—热扩散率,这  u' U, e8 `  @0 S6 u) h4 C1 j
    可以通过附件提供的炉温曲线数据进行参数估计。热传导方程的求解可以利用差分法进行。3 R) c/ |6 n2 t0 |+ r7 w: M
    : m* ~/ n7 M$ e% [: W

    4 Z& y# K% Z- y) U; J6 P// lamda的计算的部分代码
    7 ^$ z1 x4 }8 Harray=zeros(76,length(x1));5 }8 J0 q! }0 x( ^) p- X. \' _
    array(1,=y;
    & e/ K/ r: c5 larray(:,1)=z(:,1);9 a! A6 s9 \; E
    for k=1:31
    ' S4 n* R& ]* C' @- @$ x7 I# |    for j=1(1)-1
    : W1 L5 _$ p: Q        for i=2:75
      B" Y2 ~3 k0 B& D' D% d8 n: q            array(i,j+1)=array(i,j)+u(k)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
    . x- T; J: k7 o- B' n& E2 l        end* x$ J% E7 [% H
            array(76,j+1)=array(74,j+1);1 R' R# q" B9 C! j, Q
        end
    7 Q  u- M/ o3 b8 `    e1=1(1);
    5 q" u* |/ k: f9 |    e2=time(1:5,;* w% d5 o" i3 o% p( d9 q' N3 _
        [C,ia,ib]=intersect(e1,e2*100);
    # k- o  H' }8 a9 e    for i=1:59 r" p/ Y0 U! n! h* d0 ~  y
            b(i)=array(75,ia(i));
    + X' y( P, T2 K. ^0 _! p7 z    end
    9 E$ c5 ^9 ]" z/ a    for i=1:5$ K8 M- F6 ]- ?0 Z8 H- f, B
            c(i)=(temperature(i)-b(i))^2;
    4 \3 n# q  `2 u; j4 X2 @2 ^. c3 e: V    end/ s) f% C  i1 z6 A8 B/ U2 Y2 ]; _8 Z
        rss(k)=sum(c();$ A4 \! K/ z" _" X
    end
    4 b" L7 N$ u3 ?) g! K& M1 _result=[u;rss];" _' p4 g7 q) y* q/ S
    1
    % y% S- f' X( q+ a- g: F2
    ) e# n, [/ E+ i' g3
    # a7 o& a" ~2 S8 p4
    ' Y; n" r  W3 c' C5
    % b' a1 R! j6 R9 c63 m" Y( z% v0 J
    7
    3 {0 v% o0 R1 e( z8% w& c/ n# S+ g/ }6 Q
    9
    % T5 O( l8 p" y0 j9 o10
    # j! m( T! \! h11& q( ?: [) ?7 s6 N
    12* x- z! t% n4 w4 c  A8 m" \
    13
    + S! W6 q' _" x; d4 ~& E14! z, |7 N0 A$ ^7 V
    15$ y0 n: O. n4 }! c( h7 _( l& P! Q
    164 q  w3 |8 g& C
    17; t5 {$ w& M9 n: a2 @) [
    185 X  {) H3 ^1 s3 f
    19
    - b- m/ i! C% I/ k; `9 R20" Z$ r" d+ C) \  w* x9 k
    21) B7 Y* ]& J5 }8 j& ]. I
    220 ^' r0 l2 x( X  A4 Z
    23, i7 Z5 j* f2 p( Q3 p
    有限差分的核心代码:
    5 j( S' m& V  j7 G* I% u6 \' [$ m9 u2 [1 j8 y' V$ T1 k
    * G1 x6 o5 X; N( S7 L
    //有限差分的核心代码
    & F; Y* h# Z$ J  carray=zeros(76,length(x1));
    $ @+ r* S6 a# Earray(1,=y;
    ; f- P. w6 K; k  ]& garray(:,1)=z(:,1);
    9 t% z6 m+ a& a* m9 zfor j=1(1), M0 Z: N' m$ A8 l& c5 B/ I
        for i=2:75, ?+ h) w' [. ^4 j$ q* {
            array(i,j+1)=array(i,j)+u(1)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
    ! U5 m  l' B1 N4 Q# a( a; B: U    end
    ' a' I; G& R) j0 ^% H5 J        array(76,j+1)=array(74,j+1);. c! w' }- ~& ]4 S
    end
    1 P2 z6 v2 R0 Lz(:,2)=array(:,2143);: V: A+ h# d% y1 X" V
    for k=1:9& R9 J, p* R% Z' M5 ~/ E
        for j=L(k)(k+1)4 O) {: d! m) ~% g) {
            for i=2:755 J2 S$ c8 i% T' e' Z7 Q- |
                array(i,j+1)=array(i,j)+u(k+1)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
    6 f( Q. I/ q! t& L        end; B8 ^7 D9 k2 `8 G" ?* K+ f( N8 ?
                array(76,j+1)=array(74,j+1);
    % F( w$ A6 r! K4 o1 r    end7 O3 _8 y' A6 |- a
    end9 J7 s& w* F9 B* }! i
    array(:,length(array))=[];
      b: C; H8 }: v, z4 U$ [9 Y
    8 |  g0 w  G# y  K' e9 G
    5 M6 k/ a/ x6 g( K+ b
    1# H/ z' I6 C  Z, ^: H9 i% b) N- x# D
    20 f3 F3 E1 Y) I- J3 W
    3
    ; M$ q- W$ K4 j" h, T4
    ) c% _) d' o2 L5! G0 E# v5 A3 {/ B) Q
    6& |. {) U9 w4 {" H2 y
    7+ w! w1 }1 Q* ~# ?; y
    8
    4 j; J4 J& n- a$ u, e# k9
    0 l  U5 r0 k  x1 z# O/ P% x109 D8 C$ ^$ S9 c% a7 }
    11# C3 W5 L3 i0 W
    12" H) {6 U8 H$ H( Q# Y, O
    13
    4 D" A5 i" `6 g8 H142 r9 [# M( r8 N* B
    15
    4 y; Z0 b/ e+ f; n16
    3 S6 c! u- K5 @4 n! v4 ~5 O17
    % `4 G) ^5 J5 P3 ]/ r* _18
      r. S% X1 {* O* A7 e19
    . a9 {! S. u* X) x# P* W( `  O20# j% W, E8 B- J" b1 m+ e
    21
    ; S" E; {6 ]5 ^9 ^5 t. q' h得模拟数据和真实数据对比得炉温曲线:
    + b/ D2 `- Q: n0 Y2 |. |" G/ V( }
    & n2 y8 J! F5 J  d7 T2 `

    , ?, s# H2 x  P  P7 U# {6 }: e8 e: X) L- s, M2 r2 A* C
    " P4 ~; S$ [0 g9 [$ g5 S8 i  R
    问题二
    + D, @$ w# Z7 d& E6 ~$ t问题二中,基于问题一中所建立的炉温曲线模型,在四个温度参数给定的条件求取传送带的最大过炉速度为优化问题。此问题可以看做是问题一所建立模型的反问题,即在温度分布
    2 r6 g. d! Q* D  z- A2 m- i已知的条件下,要求通过该分布计算最大过炉速度v。在具体求解该反问题时,可以利用遍历法对过炉速度进行遍历搜索,这样就将反问题转化为了正问题的求解,从而问题一中模型方法都可以继续使用。/ R; r3 C, s( F& I

    4 V% r0 _+ p* d- r  e8 h1 W
    + X7 ?5 @+ ^7 J3 L4 J
    问题三和问题四9 w/ D, X! c) `* v! |# }& x0 K
    问题三和问题四仍然和问题二类似,也是对过炉曲线提出了不同的要求,进而在这些要求之下确定影响炉温曲线的 5 个参数 T1, T2, T3, T4, v ,求解也可以采用与问题二相同的遍历法进行,但由于此时遍历的变量个数增多,如果遍历步长较小,必然会使得计算量增大,因而必要情况下,可采用分阶段的遍历,即:大范围,大步长,小范围,小步长。需要考虑的就是对于面积和对称性的数学描述,面积可以采用积分的离散化表示,对称性可以采用以最大峰值温度两侧取对称点,使对称点的温度差值尽可能小来实现。4 P: |  ?# ~* s- b

    4 J8 G1 K, G2 l9 @

    % _" h3 m! X: `$ ]; Z答案如下:
    6 c( A& F- x; G7 h/ q& T( i& @. ]# A. @# V# W+ s

      Y. P7 W, G* f" t; o+ {* Z注:用以上方法算出的结果均在最优解范围内,详细解读请待下次,困了该sleep了
    7 i* N5 m0 H8 F2 v————————————————( B4 h* ~6 `: }
    版权声明:本文为CSDN博主「盈博简」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。- H9 `0 A, D' `0 O; `( _4 c$ m
    原文链接:https://blog.csdn.net/Sandm_Hou/article/details/112726635) ]# M* U- x( a( B$ A) x
    , u' q8 ^: I' M' u, l
    - t7 S! R* I4 c) `) X
    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, 2026-9-13 21:09 , Processed in 0.678279 second(s), 61 queries .

    回顶部