QQ登录

只需要一步,快速开始

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

    8 r( C$ M. v  B/ ?6 A; s2020全国大学生数学建模A题思路讲解与核心代码* M- ~9 M& ]; v; v) x0 x# L8 _

    ! o7 }9 ]) m! E4 L6 C1 n0 n* R2020全国大学生数学建模A题思路讲解与核心代码
    # @& [  w' W  I6 e( c) b, v题目
    4 U$ O7 p3 I$ F, T6 P; ^核心方法:
    # {' i) \  I, f0 @  D9 |6 h5 b问题一
    # a$ p9 W4 H/ t% q问题二6 I2 \. N. D8 x% A1 w) y
    问题三和问题四, m' @8 m) o( W( H4 k
    答案如下:
    5 A6 ?3 F1 S9 K题目# F1 f0 l. A% e2 v; s- O5 v4 m5 j

    8 p7 o. G" y; f  @5 X3 u3 e
    7 x' ?- o0 B! \, _; M: O
    6 o1 Y1 f( B- {- }2 v; p" }* @
    # I  }" `# ]; F

    ( N3 y, e8 [" {% s3 U6 g

    % {/ Q& l7 Z6 ~2 y9 g核心方法:# X3 B5 c( f3 g0 A* x( _
    热传导
    , [2 W5 T; u- V( u+ y$ J6 T有限差分法
    + y) \1 a1 G! y" O遍历法0 G- V0 d2 `8 B* Z" b( _$ Q9 Y1 V

    . \+ m! J* L& z6 X5 Y* {
    7 X6 g4 {. V5 B) q
    问题一6 P- ~/ p3 J: {. W5 S* u6 E3 `/ m
    建立焊接区域中心温度变化规律模型,推出焊接区域中心温度与其厚度和PCB 板所走过的时间的关系。查阅相关资料可知,由于自动焊接过程中热量传递复杂,因此对模型进行简化,只考虑一维方向的热量传导,即单侧单方向小温区对PCB 板的热量传导。利用能量守恒定律和 Fourier 热传导定律推出热传导方程,再利用附数据件求出方程中的参数,进而建立了焊接区域中心温度变化规律型,即炉温曲线变化模型。依据建立出的炉温曲线变化模型,根据问题一中所给出的各温区的温度参数T1, T2, T3, T4 及过炉速度v,需要求出过炉曲线,即焊接区中心的温度变化3 \2 |0 m- z: ]" K

    6 s: e( d/ J2 Q
    + [$ Q3 W- s6 e/ Y7 N- V
    对于热传导方程的求解,需要先确定热传导方程中的参数—热扩散率,这
    , {: h  V- ^/ ?7 m: w. A- i可以通过附件提供的炉温曲线数据进行参数估计。热传导方程的求解可以利用差分法进行。
    * ]& I. z  m' L2 n: h( i2 r: c% e- v0 {

    9 f, z! L6 |8 R- L" E' [4 ^, j. e// lamda的计算的部分代码
    % A8 x  _  j) H6 v) ^array=zeros(76,length(x1));% l6 w4 L, c5 P- F
    array(1,=y;+ D- N5 _& K- [' m4 q
    array(:,1)=z(:,1);9 O2 y9 L5 C! x; m0 f8 W- \
    for k=1:311 O! h+ K! x8 E. _
        for j=1(1)-1, r6 K& l& B0 I% U% x0 V" L. b4 P
            for i=2:75
    # E' l* D6 J: q( \) w% s- ^            array(i,j+1)=array(i,j)+u(k)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
      [$ c  T5 ?. c5 o$ @# a5 x        end
    5 w: k' R$ M4 ]- `& O        array(76,j+1)=array(74,j+1);
    ! x1 b2 o2 g6 j/ I5 @7 o    end
    * x) o) J: Q6 v# \# i. m    e1=1(1);
    4 C) e7 s) w$ n! ^( S    e2=time(1:5,;1 ^) O$ @* V. e1 V
        [C,ia,ib]=intersect(e1,e2*100);
    2 ]/ P; b% x( r- Q% I& \    for i=1:5; S7 ]. ~' q9 [* F- a' w" E# w
            b(i)=array(75,ia(i));
    " q: h5 A# l9 A! {% A) I    end6 w3 b' |9 ]* t( N! o/ p
        for i=1:5
    3 Z6 K4 w+ N8 y+ [' S        c(i)=(temperature(i)-b(i))^2;6 W3 b* A& a8 q
        end
    5 B  X0 k6 A+ l6 }    rss(k)=sum(c();9 b" u* a& l$ p4 X# s
    end6 [6 {/ R  q/ h1 U& P9 u
    result=[u;rss];
    5 ^  m8 q8 |$ M  ~" j14 f/ `, q4 ^9 C
    2
    , p( `3 S( ]! u5 `, p3 h, ?, o3; L( `2 \) ~$ H' ], A
    4
    2 n5 p2 ]( o. _* s& P2 Y- k5
    % M0 b" W+ ?/ Y0 ~" P6
    7 E) K" f/ ^- H, B# t' p0 `7; ^, x5 {0 z0 F2 r
    8
    ! ^5 O. p, w0 C7 v  N6 E8 y7 W" X9
    " j2 b8 ~& V: n10
    ; y$ U6 ~& t" P11. ^  I. J+ y$ g+ s! f' B- m2 I! y
    12
      K3 o, F% U0 ]8 y) X: k5 S; h13
    2 p6 T! _  o  j' v: g, ?140 u# R8 @2 t7 a* A
    15. s4 x% z4 C  s. L1 w7 s6 f$ h
    16
    2 @& o+ U9 R: I, ?2 V3 Y177 C. q; z5 N6 m9 a: i
    18
    0 N1 t, [0 b" K# l% L; U19# f" S: `4 F8 \4 R+ s
    20
    ' k" x3 _/ e: O9 C6 M) b21
    . D- r( V( `- F4 n& k% i22
    9 }( p; i* j) _  e7 |! m4 r( m, z23  u3 C5 F' E+ ^8 {* y
    有限差分的核心代码:
    5 p9 y7 H+ A& x& S( U+ B2 k. Q: r9 L. L$ `
    + n  h7 O# Z& b! T; U2 N1 q
    //有限差分的核心代码$ J' s6 {$ Q* Q$ Z9 l1 I
    array=zeros(76,length(x1));) k$ w* Z5 e' g- ~
    array(1,=y;+ O- Z6 W- y; h5 I$ S
    array(:,1)=z(:,1);
    ) L" e& x5 y* {6 u# j$ \. c8 n: F* yfor j=1(1)
    $ l3 t% z! _& k4 j    for i=2:75
    7 P' W' h' I8 ~$ h  Y        array(i,j+1)=array(i,j)+u(1)*(array(i-1,j)-2*array(i,j)+array(i+1,j)); - x7 U# Q! p! Z' h5 d' R  F
        end8 p: x# O& g/ _7 W8 {9 x) h
            array(76,j+1)=array(74,j+1);8 S7 q, n* N# e8 m0 Z) r7 z9 @# d
    end4 r/ R: q5 B' e5 F  F1 W% J
    z(:,2)=array(:,2143);5 j& u% @: q1 A; K5 B
    for k=1:9% k" m; S2 d# Y3 z
        for j=L(k)(k+1)$ o! p& ?# }( I) G3 O8 A
            for i=2:75
    4 g8 u6 ?3 A$ u; K            array(i,j+1)=array(i,j)+u(k+1)*(array(i-1,j)-2*array(i,j)+array(i+1,j)); , c, h8 W4 q% i- g6 t& |  Q
            end' h* j9 U2 ~+ @1 f9 S. U  K% {4 T% Y
                array(76,j+1)=array(74,j+1);  W) L% O. F& ~( r/ {/ y+ q- a
        end* \, K; Z( y4 c* ?& ~+ U5 ?
    end
    5 k! }5 I8 G) O7 L$ Xarray(:,length(array))=[];0 @  I: t2 C) ]" p

      @6 l/ v7 D  r& I6 \9 q7 P: E( o
    8 K- _  I3 E) u( \6 k& h
    1
    $ t9 R0 |1 p# a' r. t" p2
    . o: ]8 h8 Y. j& U( f7 S" D0 J3
    8 N9 f4 E4 i" x9 _! ^- S9 q3 o; e) n% Q4
    0 j8 b3 T8 i7 t$ c8 q6 E! q8 y' @4 q5! w* c8 r% z! t# V
    6& _$ @# s/ R; i! N! ]' x
    7
    , C2 k( e3 `& x+ Z  Q7 C8) J- t2 o/ S/ U# l. s) V; l
    9
    8 B$ e' d/ n$ M1 Y1 n10
    2 d3 }; I  J( i" i1 [2 ~/ q# h11
    ( }) }! d' t+ w4 C2 e* q126 B( Z, }4 V# q/ L; K( g0 c
    13
    0 {1 a) e& t. B; D: V( A, h14& l2 g9 v: }: Y% ]
    152 w* q5 b) l4 x; Y1 ~( _
    16
    + F% i! B% t: o% ~2 ~  S1 n17% ?& J( \' w# `- M6 n; Q) M: w
    18
    / I4 Z% _. j/ S19) ^- v) ], w- G  h1 P1 l
    20# g) Q, Z, `% r2 y7 a7 y
    21) X0 R4 M& e, H' x1 E0 h; Y" C4 v
    得模拟数据和真实数据对比得炉温曲线:
    , B. j* k% ^, |& Q9 J( S/ a% h* v# o) F$ X* B* ?

    % n+ U2 K6 _0 A: j0 a
    1 }1 }. N# w% p) E! S

    , Y: `# Z* H: [% ?) E. M" k" N问题二
    & X( h  v2 v5 m+ `6 |; l% W问题二中,基于问题一中所建立的炉温曲线模型,在四个温度参数给定的条件求取传送带的最大过炉速度为优化问题。此问题可以看做是问题一所建立模型的反问题,即在温度分布# z" D* ]! l' A6 f+ u4 P& q0 c0 y; m
    已知的条件下,要求通过该分布计算最大过炉速度v。在具体求解该反问题时,可以利用遍历法对过炉速度进行遍历搜索,这样就将反问题转化为了正问题的求解,从而问题一中模型方法都可以继续使用。
    " ]& v; P; N6 g: k/ \% h
    ) K7 q# s( {' X

    5 q5 z5 s' ?. P1 U* d6 A- k问题三和问题四+ Y" K/ j$ e0 Q' ]& n( O
    问题三和问题四仍然和问题二类似,也是对过炉曲线提出了不同的要求,进而在这些要求之下确定影响炉温曲线的 5 个参数 T1, T2, T3, T4, v ,求解也可以采用与问题二相同的遍历法进行,但由于此时遍历的变量个数增多,如果遍历步长较小,必然会使得计算量增大,因而必要情况下,可采用分阶段的遍历,即:大范围,大步长,小范围,小步长。需要考虑的就是对于面积和对称性的数学描述,面积可以采用积分的离散化表示,对称性可以采用以最大峰值温度两侧取对称点,使对称点的温度差值尽可能小来实现。$ F+ [- e5 f: x# q9 H, s7 p5 X5 D% A. b

    - }- W; x/ Z+ h4 _
    - \" o" a2 @! C; d3 h% O' U  N- P
    答案如下:6 P, Q# l) J& J( P4 |; M+ z

    ' d5 n4 Y9 d7 t& p) R- f

    7 V8 m6 ~; K) m注:用以上方法算出的结果均在最优解范围内,详细解读请待下次,困了该sleep了& v9 R$ T# \, o9 ^; r( h
    ————————————————
    ( F& v4 u2 t7 V- |  w  w+ `版权声明:本文为CSDN博主「盈博简」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    + R, h0 e+ z# z# C& E" [+ K5 Q原文链接:https://blog.csdn.net/Sandm_Hou/article/details/112726635
    0 ?& f. q1 D3 I7 O' K
    9 o: A+ b- y+ s3 A5 R
    / m7 e/ w) u/ C2 @' n+ `
    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-7-29 19:34 , Processed in 5.389669 second(s), 61 queries .

    回顶部