QQ登录

只需要一步,快速开始

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

    7 v7 j' u  ?" E2020全国大学生数学建模A题思路讲解与核心代码
    " a, N. f8 y. p
    , J2 S  J4 ~  w% U% U7 A1 E; j2020全国大学生数学建模A题思路讲解与核心代码
    0 j2 @1 K( c8 P' T" `题目
    8 N  d+ J4 X, O# F  j% x! ~核心方法:
    8 V0 i. T' R! j: L) q问题一
    # H% J% ]2 f# l问题二+ u" {7 X1 O8 l/ w( G
    问题三和问题四. |) M  \8 R9 q' h" y
    答案如下:9 G  z7 j+ y' C8 H* S5 i+ c# _5 x
    题目3 H% h& _& C- i$ O+ e- j& g; [2 S

    # N% b& t' d- I, u% o
    * g8 B/ z, z1 `5 P2 U. S

    - W. a7 ^0 I- H7 _

    - v( u- w2 |. c0 k8 x( x9 h+ G7 q' R- w+ E  Z# U) G
    / n/ r/ \: P& f. B: h3 d) x
    核心方法:
    + F% I# x. t* d0 v/ l" `热传导7 K' I4 I3 x' H7 X
    有限差分法
    / j8 z* u: W& Z0 o遍历法
    ) E7 |+ ?! v& @, o$ @: s1 I- }1 S/ M- O7 A4 h8 p8 P. N
    $ a- r6 J4 ]+ [* J9 {9 Z, Q# w4 S
    问题一
    5 E( W$ f& x6 C& p8 B4 h建立焊接区域中心温度变化规律模型,推出焊接区域中心温度与其厚度和PCB 板所走过的时间的关系。查阅相关资料可知,由于自动焊接过程中热量传递复杂,因此对模型进行简化,只考虑一维方向的热量传导,即单侧单方向小温区对PCB 板的热量传导。利用能量守恒定律和 Fourier 热传导定律推出热传导方程,再利用附数据件求出方程中的参数,进而建立了焊接区域中心温度变化规律型,即炉温曲线变化模型。依据建立出的炉温曲线变化模型,根据问题一中所给出的各温区的温度参数T1, T2, T3, T4 及过炉速度v,需要求出过炉曲线,即焊接区中心的温度变化
    , h* V1 X7 Y% x! S' D3 \
    9 N7 w+ |4 B; m! V( F& Y5 J

    - m6 z! Q0 A/ X9 f" t对于热传导方程的求解,需要先确定热传导方程中的参数—热扩散率,这) l" Y  e9 T; H/ Z# Z
    可以通过附件提供的炉温曲线数据进行参数估计。热传导方程的求解可以利用差分法进行。/ G  U+ a! L/ u

    3 g) L' ?; m' }" A
    7 s6 i3 p0 n& b0 g* l! y, i
    // lamda的计算的部分代码& h  s# L8 o! P+ b8 n' D
    array=zeros(76,length(x1));& Z* v; W' G* q4 p: J2 H. o
    array(1,=y;
    7 I) n8 }( W& E4 e/ D6 Y) u4 Zarray(:,1)=z(:,1);8 m6 u. ?2 P& Z
    for k=1:315 C# F1 B, W2 |- p. @
        for j=1(1)-19 f9 k9 [# G# f. o" L' N' ?: o
            for i=2:75
    - d  t$ s# p% V/ U% U            array(i,j+1)=array(i,j)+u(k)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
    8 h1 Y+ Y5 T8 ]! f+ G        end% X+ y# B3 e; k8 m2 q- l9 R2 D
            array(76,j+1)=array(74,j+1);
    2 T8 |- E, q8 |9 l    end. D7 X/ }6 C4 r2 a
        e1=1(1);' d0 M  f" @! t
        e2=time(1:5,;* T" Z4 z) [" J; o3 U4 |) i
        [C,ia,ib]=intersect(e1,e2*100);
    5 X3 C  b8 N' P" @5 X    for i=1:5. _, R+ I1 R( n" l9 Y# d' }
            b(i)=array(75,ia(i));
    * J) |# \2 H* b; f    end
    : g- s8 D' Q: x    for i=1:5; V: a$ K( b# i- u6 ~$ s' V
            c(i)=(temperature(i)-b(i))^2;, a1 ]- S6 m/ d' {7 w' O
        end) y" u8 |1 O2 T  s+ `: j  K( Y) X  x) [
        rss(k)=sum(c();
    3 ~* L6 G  w/ W' Z( l  }end
    ( R$ z7 T# G& s& K- A. T& M+ Jresult=[u;rss];
    6 @* f; V$ Q. q: \15 E; q5 D5 l6 {" s! F1 w
    2# z7 A" M5 Z2 j
    3$ }. f2 h: J, u) b! w
    4
    & j) O1 l! _# H) \57 \' p! D! Y+ ]- Y0 @& x8 }
    6
    0 X; P  h5 w6 e7 F8 |$ T8 r7
    $ E5 C( U  k0 P6 p3 P81 |- y1 A& U! j2 t7 ?2 p2 G
    9
    7 M& o0 [* B  Z10
      X/ a9 e( Q+ F; k- }) G) i11; s+ {* Y7 i9 O! g! p
    12
    + z- i9 A! Y# s13
    # N" B" t; D, r& T  [143 @! v2 _: Y) Z5 ^
    155 r' g! W5 F9 q9 e5 p- H: k, `
    16. C8 ?) F( G/ S  }: F- R
    17
    : l) |$ U3 g: m' G181 Z( v1 r; Z4 p6 |9 I1 ^% U3 b
    195 k+ m& K6 L9 F7 v6 W' s. S
    20
    8 P9 i/ g$ l) \* Q: V- V21
    + y- d' U$ n2 N2 A) v222 ^) x* {3 w7 n+ b2 d1 I$ t9 h% M
    230 z$ N* k( N8 B5 ?" r
    有限差分的核心代码:
    # O- z& [, A* Y, s6 P; N' ~- f9 z- g% T6 d
    ! d: {# X+ R- \- k5 n5 j
    //有限差分的核心代码
    - o. p3 U2 T% H  }array=zeros(76,length(x1));
    $ L% b2 K+ X/ r: R5 Warray(1,=y;
    ( S/ V7 w3 n+ Warray(:,1)=z(:,1);) a! Y+ g. Z2 C, z/ U0 ^
    for j=1(1)
    6 g1 Z0 l& E/ A; q1 N    for i=2:75! b: L, p7 N; B- [
            array(i,j+1)=array(i,j)+u(1)*(array(i-1,j)-2*array(i,j)+array(i+1,j)); ! m7 i- t; j0 ?8 P, H* Y5 F" g
        end
    * s' E$ o. \1 u- g        array(76,j+1)=array(74,j+1);$ h) T* |6 O$ o0 a3 b
    end+ Y7 P1 F$ m) x" Y
    z(:,2)=array(:,2143);
    . I0 w  B; i5 s+ g0 f8 \! B5 ffor k=1:9
    4 |6 }9 d3 L- a: x  B    for j=L(k)(k+1)
    ' r9 |/ S/ e& C# k; }4 o        for i=2:75
    ; u7 L4 L/ q. F            array(i,j+1)=array(i,j)+u(k+1)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
    2 s) v9 s& i. U. |$ S        end5 a: g1 x3 V+ F) P
                array(76,j+1)=array(74,j+1);
    2 }( J1 F8 N, X! G' r    end
    & B9 V$ R+ ]/ b) \) a; V: p9 oend7 s; q2 }- w+ d; `
    array(:,length(array))=[];' ?9 O& f$ j% C$ n) o

    + @! o# q& S: G  G, h3 [

    * |9 n1 W3 o# S, @& i3 p1. E% t- @2 d; x4 S/ K, `
    2, ~0 p6 \$ u. L' b
    3
    & y' r7 o; b& L; _* T3 G4  r  n  q. a0 ?9 O6 E
    5
    0 J* f8 j8 Q1 l5 b/ W5 p61 U3 F& R; ^1 R, \9 c& w# @
    7
    9 X8 k+ e/ }! C( \" G: q  {8/ G" p" w$ O! w- Q$ b5 O3 x* W$ q
    9) E; J8 e# Q* [; w9 p$ L8 I( c
    10' V" ?% N1 C, c% Z& D, l
    11! [6 O/ C: X6 y& J
    12* f# e9 Q7 a( J+ D0 a; F+ P9 \; ^
    13: Y( T  f+ C5 s. q$ U* [/ x
    149 Y- `3 F6 v4 A1 f, T1 }% v3 ?
    15
    # r4 ], z& Z3 ~/ D' ]" \169 w" W7 K3 u( n; @( ~
    17
    . b, p! k! {& @, P2 f18
    $ e1 K: E+ B& @: J5 a9 P' `( R19& ^' u- U2 w% t/ Y% ?
    200 ?2 p& ^1 V8 |, G/ h
    21( M; E( e% |+ l2 q
    得模拟数据和真实数据对比得炉温曲线:
    7 ]8 b$ D! l( |5 ~' r
    ! L* _1 a+ O# @4 R
    * A% W2 E/ ]* c$ N  m, U

    : M* ?( s, R* t0 r6 K$ _
    & a9 s8 }; N$ v& y9 ]9 k
    问题二
    * Q  T3 k' R/ K- T; K6 i问题二中,基于问题一中所建立的炉温曲线模型,在四个温度参数给定的条件求取传送带的最大过炉速度为优化问题。此问题可以看做是问题一所建立模型的反问题,即在温度分布: V  `- Z6 v' \9 R
    已知的条件下,要求通过该分布计算最大过炉速度v。在具体求解该反问题时,可以利用遍历法对过炉速度进行遍历搜索,这样就将反问题转化为了正问题的求解,从而问题一中模型方法都可以继续使用。
    * x" `+ ~3 s4 J3 {2 b2 _1 u+ h% a9 b

    - U7 Z2 a7 w2 b- c! x' j问题三和问题四
    9 g3 ~5 U' K  Z+ }2 T8 \问题三和问题四仍然和问题二类似,也是对过炉曲线提出了不同的要求,进而在这些要求之下确定影响炉温曲线的 5 个参数 T1, T2, T3, T4, v ,求解也可以采用与问题二相同的遍历法进行,但由于此时遍历的变量个数增多,如果遍历步长较小,必然会使得计算量增大,因而必要情况下,可采用分阶段的遍历,即:大范围,大步长,小范围,小步长。需要考虑的就是对于面积和对称性的数学描述,面积可以采用积分的离散化表示,对称性可以采用以最大峰值温度两侧取对称点,使对称点的温度差值尽可能小来实现。
    9 G3 S% E7 K6 X* i5 `# _. o! b- n( j; y1 _5 o- j/ j/ n

    $ n- o8 \+ d, Q+ T3 k答案如下:
    1 [% p5 P4 z, M8 l/ g
    ' u8 x( {3 S2 v4 M4 d

    ( `$ ?. ^2 |' C& X注:用以上方法算出的结果均在最优解范围内,详细解读请待下次,困了该sleep了
    + v" `. K% o, |" S0 P————————————————3 j# v8 F% H! ^! t
    版权声明:本文为CSDN博主「盈博简」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    ( i# b* |! A) z" I5 B) \原文链接:https://blog.csdn.net/Sandm_Hou/article/details/112726635
    8 k' Z& ^2 ~8 _' [
      ]. ~9 D7 ^. A9 r1 R1 s% H3 }( f
    7 H' k! d& s1 z; 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, 2025-11-4 02:00 , Processed in 0.517059 second(s), 60 queries .

    回顶部