QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5245|回复: 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
    9 v0 q8 s5 e+ n. f  U" E3 U
    2020全国大学生数学建模A题思路讲解与核心代码0 ~4 z; Y2 Y% A7 k! H/ |  T

    & n* L4 e* a) _; T5 Y2020全国大学生数学建模A题思路讲解与核心代码
    " [. n: }6 g& y" N; X/ b题目/ K" M; H2 Q/ J& A1 ]
    核心方法:3 f1 C( i& B; X2 }6 T! b' y3 V
    问题一- K  W: @. K) f  I7 n
    问题二- U5 D: I# b0 j  V8 S
    问题三和问题四
    # G' h2 B) |) H' X3 d, F& X答案如下:2 L! l  S. O8 w# @! r& \
    题目0 Z& l! k( Y; ]" `( l5 d* p

    " S- c% \: g- L' P8 Z! K0 E

    4 i: z% _" \5 _3 l7 p
    " y( ?7 b! f; m3 W2 O4 `& f% c$ A8 f
    , H3 u9 `4 P" n0 M4 r/ N7 E& ^

    % f4 T0 m, q0 G& U

    # A, i/ G+ q0 b. t核心方法:
    8 C: g% h; a. I( ~9 L/ _. M热传导
    ' @0 [+ H; E; f, s# n有限差分法3 [: o2 c$ K# v" d) a! B0 A# D7 j  @
    遍历法( S% @1 I# E) M3 `% O
    , _' L( c7 A, d4 {

    % t4 g6 y& U. I* x- E' ?问题一
    ' ~5 W. o/ J  J) _4 b建立焊接区域中心温度变化规律模型,推出焊接区域中心温度与其厚度和PCB 板所走过的时间的关系。查阅相关资料可知,由于自动焊接过程中热量传递复杂,因此对模型进行简化,只考虑一维方向的热量传导,即单侧单方向小温区对PCB 板的热量传导。利用能量守恒定律和 Fourier 热传导定律推出热传导方程,再利用附数据件求出方程中的参数,进而建立了焊接区域中心温度变化规律型,即炉温曲线变化模型。依据建立出的炉温曲线变化模型,根据问题一中所给出的各温区的温度参数T1, T2, T3, T4 及过炉速度v,需要求出过炉曲线,即焊接区中心的温度变化
    ) D6 o' R% }7 Q; p( x- Z: u6 F7 y
    8 [  M; S: B7 J* b! X' `9 c
    & r  Q  V" b: o, \* L7 B
    对于热传导方程的求解,需要先确定热传导方程中的参数—热扩散率,这2 |; Z/ k; w& |. n, {! a
    可以通过附件提供的炉温曲线数据进行参数估计。热传导方程的求解可以利用差分法进行。
    8 }7 C4 p9 |( y( ], m
    6 n) c2 q3 V- C+ y8 m% _3 h, e7 d

    + B' c  e. {6 s: f: e& T// lamda的计算的部分代码% B7 k( T8 p/ E2 D# R
    array=zeros(76,length(x1));
    9 G5 b! i# X, f  z; A) Rarray(1,=y;6 n0 n+ e2 @* y' z- y
    array(:,1)=z(:,1);) |) u9 H: ~& M9 Y$ R
    for k=1:317 c7 p  F! j" ^. K( _
        for j=1(1)-1
    / D! T* J8 _  s7 v2 O% S        for i=2:75
    " W4 ]; Y) U$ a8 N# G            array(i,j+1)=array(i,j)+u(k)*(array(i-1,j)-2*array(i,j)+array(i+1,j));* T) t" d0 t9 ^/ J0 {5 _
            end5 @) \# a0 E9 W  o- v' c
            array(76,j+1)=array(74,j+1);
    3 `% l9 p( K/ S* n  A0 p8 k    end
    1 l* ]& s. O; \    e1=1(1);! ^6 g( G; z) B/ M$ k" }4 u- ~
        e2=time(1:5,;
    . U* g) }1 ]  s0 z9 f    [C,ia,ib]=intersect(e1,e2*100);
    / R: O% c3 U( R1 p- _0 l# A    for i=1:5
    7 D6 c6 {' K2 ?4 ]% ?8 j% ?$ F/ m        b(i)=array(75,ia(i));
    " [+ w% V/ ^$ P$ a, ~& \4 g$ u0 p    end) X# V& s+ g8 R9 }
        for i=1:5
    : N# f, {( e+ }6 c) {# z3 p8 Z- j        c(i)=(temperature(i)-b(i))^2;
    ; h5 o0 F7 r- B6 K  d    end
    6 e/ U9 t' b' L) ]% k: x    rss(k)=sum(c();3 @- {* ?; l9 B  N0 y- ~
    end# q8 o" \: L% Y- k
    result=[u;rss];
    " q6 K4 Q9 T2 m1 x- x" C12 U+ Z( M4 p$ U4 ^7 ^; o! _8 v
    2
    / r$ R7 t0 e2 I8 j9 F3
    ' E4 t  L9 @5 [4
    - r  M/ ]! a/ t# q% m5
    / ]6 {& _0 ]- a2 u7 N6
    ) q! _& s5 x; i; ~: q7 a7
    ! N8 W3 q/ o6 ]$ L+ u8
      h: c$ g" Z9 l+ f4 V90 `& o9 v% r  h8 K
    10
    1 G9 Y" `, R0 Y2 k+ m+ L( q11
    ( B$ W7 E' g5 p) z6 N; ?12
    ' L9 k( L& M/ C0 H- G13- Y- D/ Q, N% }  C3 w6 {  C
    144 v; E# q) f6 Y
    15
    ' V: N1 l: `4 E  w% M) P: K163 ^4 l/ Z) p5 f1 d& z
    17
    # [. F: \7 i$ }18
    $ P  k5 V6 P7 `% L0 H9 o19# q1 v) S$ F" P$ U; k/ a) J$ n) C  g
    203 a% y) `% H" T/ p% y6 G! P
    21
    + m6 l2 L7 l4 f( ]1 L22" W  a& i4 {0 V
    23
    - o2 m% V! l1 S/ y' U有限差分的核心代码:& \( i4 J4 c- C6 i% e- S' D, v
    , c2 D3 h7 U4 O/ [
    ' y, `; K+ g/ ?
    //有限差分的核心代码
    ; ?* M; x- B2 l0 ]array=zeros(76,length(x1));
    ( j, F: l* W' {! \" t" Sarray(1,=y;* m* e  z' _0 @' ^- b; q/ A" L
    array(:,1)=z(:,1);7 ^5 r- @- c. }- u8 B* M
    for j=1(1). \* L" f9 J  v& `
        for i=2:75
    8 L' S+ s: G7 Q) Z- U$ E* \        array(i,j+1)=array(i,j)+u(1)*(array(i-1,j)-2*array(i,j)+array(i+1,j)); * ~6 E, J  u. \' D
        end
    3 G, I8 b; W5 w. ]$ V5 `; H1 s& k        array(76,j+1)=array(74,j+1);
    - p& v7 l  f! K. ?, |6 B5 cend$ s8 D/ U2 [1 h& ~
    z(:,2)=array(:,2143);( y1 j! t2 j( Q: ^
    for k=1:9* @, c/ d. D0 I7 s) L2 v( z
        for j=L(k)(k+1)
    ! L1 D9 _& C- h8 F9 A0 Z* o( B9 ?        for i=2:75
    ( C* `  y2 L- U8 a) N1 L            array(i,j+1)=array(i,j)+u(k+1)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
    . Q% J% f! [) a/ S5 Z, T        end; C# j1 }; ~; T1 `6 T& Y
                array(76,j+1)=array(74,j+1);
    ' [3 {* N6 P; F    end
    2 @  s; @6 q7 Pend
    * v3 w" K( D: A9 F7 \array(:,length(array))=[];
    7 S2 L: u+ t, s: p) b# r
    0 R' @. q; S: @
    & ]6 j5 A* \! o% f# x3 i' j
    11 H- u$ t( A7 @6 k, |" f
    2
    * n8 f, X! }4 y) \3$ B1 e& s! H% [' g" d8 M
    41 W3 L1 K5 O2 K$ a  y
    5
    / B" ^9 N- b+ v% a6' P- p. `& o8 i3 K8 w1 |% \( Z
    7
    ( P8 \7 Y6 R" Y* v! k' S89 O: R6 ?8 I8 A% S% M% _3 N) C
    9
    / X" k  @( ~* ]9 P  C, ]7 _8 S5 z- R10
    / ^2 T4 E# z% O% C1 w( |2 ~9 ?  F2 ~5 o117 J& g0 e' ]8 ^  j- Y9 A. m6 |
    12
    2 }6 P) D9 {; z8 Q4 e: G7 B+ B6 h/ ]13! I5 V6 @5 z: q! }
    14
    ; i$ V2 v( m, }: N15
    ' p) v3 ^3 T0 g9 I16
    # ]9 o+ j6 s. ~$ F17, Y# j6 s' e9 y8 @
    18- q. `' }; C. ?# A- \
    19
    2 N  s5 ?/ q3 u: G5 v20
    1 G/ A+ ?& M! _3 R/ Q6 E21
    & i; n; E. R" }: C得模拟数据和真实数据对比得炉温曲线:  A* T( r8 D- }0 P/ r2 l
    ' r- M, }. {- r& S% F

    ( [$ P8 `! @4 Y8 O; j7 O; Z7 E, K6 T
      Z# ]8 [/ ?* e! V

    0 q& d: e  f+ f" @% ~问题二0 d  s* [; k1 p. K$ p
    问题二中,基于问题一中所建立的炉温曲线模型,在四个温度参数给定的条件求取传送带的最大过炉速度为优化问题。此问题可以看做是问题一所建立模型的反问题,即在温度分布
    " Z# N, x3 g5 O1 G已知的条件下,要求通过该分布计算最大过炉速度v。在具体求解该反问题时,可以利用遍历法对过炉速度进行遍历搜索,这样就将反问题转化为了正问题的求解,从而问题一中模型方法都可以继续使用。& \1 k7 S) S8 K4 W2 e# {& o$ x

    $ I3 C7 n: Z9 s* [! \. l# l1 l

    ' N# q! [* k8 c2 {问题三和问题四- r/ O7 i. _7 g5 A! C/ k! U, D- k
    问题三和问题四仍然和问题二类似,也是对过炉曲线提出了不同的要求,进而在这些要求之下确定影响炉温曲线的 5 个参数 T1, T2, T3, T4, v ,求解也可以采用与问题二相同的遍历法进行,但由于此时遍历的变量个数增多,如果遍历步长较小,必然会使得计算量增大,因而必要情况下,可采用分阶段的遍历,即:大范围,大步长,小范围,小步长。需要考虑的就是对于面积和对称性的数学描述,面积可以采用积分的离散化表示,对称性可以采用以最大峰值温度两侧取对称点,使对称点的温度差值尽可能小来实现。
    3 \/ [8 m+ f* X3 J; W: W6 L" o$ y3 ?9 o0 ?/ n* a

    6 [+ x8 \% b! [$ k答案如下:
    : N. g: C* q( V% [, G& r6 a) i0 @

    , Q+ w' q! q, h  @8 D& ~& K注:用以上方法算出的结果均在最优解范围内,详细解读请待下次,困了该sleep了
    & G3 A6 m  e) f* ?. \————————————————
    9 e, L& w; J; t版权声明:本文为CSDN博主「盈博简」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    , n- Y, m3 l: n3 f! {7 B# p原文链接:https://blog.csdn.net/Sandm_Hou/article/details/1127266356 I# m& y" t3 O1 }+ |" {  F! A5 z

    4 n1 y  j6 \1 R" {3 ~7 I
    : O2 o8 S: J( W; j$ |! w
    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-5-26 12:34 , Processed in 0.457564 second(s), 60 queries .

    回顶部