QQ登录

只需要一步,快速开始

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

    6 `* F- |0 s$ s2020全国大学生数学建模A题思路讲解与核心代码
      S+ ?5 u6 T3 u
    ) R$ b1 D: k  u, W7 Y! ?2020全国大学生数学建模A题思路讲解与核心代码
    ! i) d/ s! w" p  p& B. s0 Y: w1 {题目
    ) n7 W! K! B1 H5 S核心方法:
    ( B, S$ p. a/ S问题一8 C1 E% u9 L8 L/ t
    问题二
    $ f* u( V0 H2 i0 v8 c# M1 K- ?" e问题三和问题四7 l5 C  J9 C* Q- c7 H3 H0 r
    答案如下:
    ) s9 l* N7 E) I( C题目. M) G! C- g" a5 @
    0 h9 q1 P* j7 z$ U5 g
    % W7 B. ~: W" F' T0 m2 v5 e
    7 u* _& P6 b: Y

    - n0 e) ]% t: A) }( \# l7 `+ z" K# P% z' s. }1 w1 Q& N/ D
    , [+ S* @- y+ t  U/ n% \
    核心方法:
      J3 y+ W6 |7 k3 r- o' X' D热传导
    6 C7 \  l: r; P' m, Q3 V0 X4 Q有限差分法
    " z; {) ]  }" Z6 t7 e$ t$ U/ B遍历法$ u" o9 J- r- H1 f
    2 u% J3 F+ k4 J7 [& h1 k" Y

    0 Y% J9 w) ^4 t9 c: k问题一1 @8 p2 m. ]8 |: z, i
    建立焊接区域中心温度变化规律模型,推出焊接区域中心温度与其厚度和PCB 板所走过的时间的关系。查阅相关资料可知,由于自动焊接过程中热量传递复杂,因此对模型进行简化,只考虑一维方向的热量传导,即单侧单方向小温区对PCB 板的热量传导。利用能量守恒定律和 Fourier 热传导定律推出热传导方程,再利用附数据件求出方程中的参数,进而建立了焊接区域中心温度变化规律型,即炉温曲线变化模型。依据建立出的炉温曲线变化模型,根据问题一中所给出的各温区的温度参数T1, T2, T3, T4 及过炉速度v,需要求出过炉曲线,即焊接区中心的温度变化- D0 q% r! T: g. z. o
    9 W& G" Y; B. g* {9 x. d% k) ~

    0 g* w: z5 i! ?( X! F对于热传导方程的求解,需要先确定热传导方程中的参数—热扩散率,这
    $ d, I% o3 u& u6 K5 H- d& a可以通过附件提供的炉温曲线数据进行参数估计。热传导方程的求解可以利用差分法进行。
    : G; y/ O. Z7 w+ H$ t  l$ v% O4 ^) t+ M/ A" i2 W# ^

    ) K6 \0 q) _7 ~% H// lamda的计算的部分代码
    " v5 ^; Z# q2 h: F7 U% ?$ }array=zeros(76,length(x1));
    2 F& |3 y( I; o3 ]( uarray(1,=y;0 |7 ?8 Q) ?4 e( l$ b
    array(:,1)=z(:,1);
    7 {7 {* k) M# {3 M9 b- E. ofor k=1:31
    , B7 N9 j7 O9 ]: r( \    for j=1(1)-1" T9 z4 x7 E( }
            for i=2:75
    - F% `( |! O) A) Y1 s# r. b  ^! ~+ D            array(i,j+1)=array(i,j)+u(k)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
    / L: |8 C- A  d- r* t/ r        end/ A2 m& f5 L  a' |# {
            array(76,j+1)=array(74,j+1);
    . l- l8 m5 E$ Q/ ^2 ?    end& Y, y9 S: E; T; Y8 c8 E; K
        e1=1(1);( U+ X- X4 N/ X- ^
        e2=time(1:5,;
    0 \  p# C8 W4 D4 Z    [C,ia,ib]=intersect(e1,e2*100);
    0 c" s; W4 P8 H" ^* [1 _    for i=1:5
    , u5 T1 g% h+ h" k. Y        b(i)=array(75,ia(i));" v3 O% o0 e( j9 @6 y
        end
    ; k5 a+ X: v/ b4 H2 W  s    for i=1:5: K6 N) j/ N3 M' Y$ Q& \
            c(i)=(temperature(i)-b(i))^2;
    # v& d6 K. p7 s    end7 H7 w. X& k& v! Z/ f+ v6 k
        rss(k)=sum(c();/ X9 R# u) T1 M$ `
    end
    & C$ a7 h% a( x1 M, Z4 uresult=[u;rss];
    0 D  Y8 R' a8 F+ C& [8 P& \18 K: y6 b8 E" x; {
    2
    ' U5 y# p8 \) t8 K( F8 [30 D3 V% A( T3 G4 c, G
    4
    2 j2 `$ D8 Y' {1 c" j58 e- `: c. b' b* T. R( F9 {
    6
    - ~/ w+ `( e, M2 i0 o7 r7 G73 {2 n; a: _; L% ^1 ]4 p7 j, k
    8
    1 ~0 Y6 Q/ f3 |& q9' {1 s* _) f2 }0 R+ p/ ]6 o  K
    10
    7 O' D: }" Z* g, Z: W11
    + C& _$ o) O6 y5 b0 n& [4 S6 a/ t# f12
    * n+ r  A5 E  a5 R134 i5 K; u, P$ y* i7 z0 y$ k
    14
    8 a& I$ [% f4 _" m; u8 {" n155 b0 }' Z+ `" f, ^- A3 P2 V
    16
    : W# K" I% w7 p, {175 G. i8 z# V3 @/ t* H6 ^7 I. i
    18! G* T# i( t) z! B( w) v4 h) L4 r
    19( J5 N: Z3 C6 p* ?
    20
      ?; M% a% s7 C1 B  Q  c6 P21, I  Y/ B+ A5 ^
    22$ b7 B& ]# v& \* |5 x$ d
    234 R$ G1 D1 h0 ^: L; I) O7 ?
    有限差分的核心代码:% l+ _8 b) K) S+ E: S& Z

    & L3 V, R, i# q

    * D! J7 p3 I. g7 N% e. l) n& h9 a% L//有限差分的核心代码
    7 U! Q+ r- l3 `% A  jarray=zeros(76,length(x1));
    ; }% Z% h0 T  y2 \9 jarray(1,=y;
    3 @. ^& s7 _& o3 X! F% L2 xarray(:,1)=z(:,1);- V! j# f$ c6 J0 V, F% W
    for j=1(1)0 c2 g8 G$ t2 ~) o) a# [
        for i=2:757 J( S  L) X1 K# N( M
            array(i,j+1)=array(i,j)+u(1)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
    8 X- o) C# b5 h; p- _- I    end7 Z/ {# a. k1 j" J
            array(76,j+1)=array(74,j+1);. O' B  h! M' F. o' A
    end; G; a4 @2 @- d: B& v9 o
    z(:,2)=array(:,2143);1 f6 p2 {, h0 y: Z
    for k=1:9' H% Y2 ?$ J4 Y5 j" A' b
        for j=L(k)(k+1)
    3 l. J- ^9 A7 `, F* ]4 ~1 h        for i=2:75
    $ c& _; I# U' M            array(i,j+1)=array(i,j)+u(k+1)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
    : t, ^- i3 u, q* ~) x, @" R2 O' ?4 y        end
    ) l) N: h# C" P& l            array(76,j+1)=array(74,j+1);6 N7 a( E* V  E7 M: A- J
        end8 e, e6 I. c) @" x/ n
    end9 v& V! G; [3 _2 e' A8 t
    array(:,length(array))=[];- o% i  E& ~. W0 U2 a6 ~

    ! k7 A/ J8 u3 Z

    * S' c  t! H* ]1
    + d* W2 o# A1 Y- P2 ?" e+ c28 V* n! I# D& j- ?. b" N( i8 F
    31 R. u( q* [% @( N0 e% M; o: Y' g
    4
    ( q( \8 M. L" ]' x( Y5$ y1 i# R: E) K1 H2 k+ k3 n
    68 ?  k: h, p- D2 n1 y- `
    7
    4 u4 t2 {% U( N4 ?8 q8# f0 F6 Z9 @0 T, O- X9 b: }' Y* ?
    94 m( M% [0 f: q' f8 O( i% A
    109 f6 T! S* [( R* z
    11
    / f6 q3 ]  E& s# X2 T- D* G: o12
    7 g6 Q2 X  u' N8 C& r; X13" [  L' L4 L3 [' b$ I8 d
    14
    1 p9 d3 t8 T! X, x6 j157 S6 G+ \/ K+ I. I9 ]$ V5 Q
    16
    $ F7 v' s2 \; {& U" G) T' m17% y5 D* P# |8 Z! u
    18" C7 u4 [0 U; \. h: q* F
    19
    2 a, f  H- T) Q, G9 N, ?20+ E5 B" E- n7 I" B4 R/ y
    21
    8 n7 q) P$ x! C得模拟数据和真实数据对比得炉温曲线:
    1 I" |5 P9 z/ k% \& Q1 @  K+ y+ {( L
    " \- c) K# @; a0 K$ B
    & Z* c% @" H9 h; B5 j* P

    6 Y9 t; q8 o3 ]0 X4 s  i

    - P% ~& d- v  p2 _- A8 Q0 ?  K问题二
    " |) j: x$ M- n# r' `问题二中,基于问题一中所建立的炉温曲线模型,在四个温度参数给定的条件求取传送带的最大过炉速度为优化问题。此问题可以看做是问题一所建立模型的反问题,即在温度分布9 w! _0 f" K" D& ?* }5 d, }! y7 s& W  H
    已知的条件下,要求通过该分布计算最大过炉速度v。在具体求解该反问题时,可以利用遍历法对过炉速度进行遍历搜索,这样就将反问题转化为了正问题的求解,从而问题一中模型方法都可以继续使用。8 \, q, g* q; W+ l: I

    * K9 r2 K* |1 h& s# i
    * n4 a" c7 G8 g% j  [$ a2 ^
    问题三和问题四
    $ z0 V0 g. B6 A: f$ `* J% a; m问题三和问题四仍然和问题二类似,也是对过炉曲线提出了不同的要求,进而在这些要求之下确定影响炉温曲线的 5 个参数 T1, T2, T3, T4, v ,求解也可以采用与问题二相同的遍历法进行,但由于此时遍历的变量个数增多,如果遍历步长较小,必然会使得计算量增大,因而必要情况下,可采用分阶段的遍历,即:大范围,大步长,小范围,小步长。需要考虑的就是对于面积和对称性的数学描述,面积可以采用积分的离散化表示,对称性可以采用以最大峰值温度两侧取对称点,使对称点的温度差值尽可能小来实现。
    7 W$ z/ ], N* h- P7 X8 A+ ]/ _6 t. {/ Y$ V: v
    ) N+ y- k/ A' G6 o% B
    答案如下:7 ~! s3 c5 F8 b# p1 C8 e% ^4 [

    $ p6 ]* s. D) O# z( M4 A( h
    ' g. S: j  C3 W1 |7 D/ s. P' a0 K
    注:用以上方法算出的结果均在最优解范围内,详细解读请待下次,困了该sleep了
    1 S2 z, b# p1 D' e" n, c  d————————————————
    * {3 o! K& B/ n版权声明:本文为CSDN博主「盈博简」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。: [2 i7 v1 `1 a2 u; G1 ~. `
    原文链接:https://blog.csdn.net/Sandm_Hou/article/details/1127266350 w7 O, Q' h, c4 m

    # s: f4 I. [$ t/ v* ]7 K$ y5 |
    4 t& z1 `% |* _
    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-4-15 08:01 , Processed in 0.437379 second(s), 62 queries .

    回顶部