QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5316|回复: 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 t, N. Y6 l8 c, q7 p
    2020全国大学生数学建模A题思路讲解与核心代码1 ^2 Q* y+ `. B' \1 c: U, u$ S
    $ P1 x  t& E% [4 E
    2020全国大学生数学建模A题思路讲解与核心代码
    & E+ y0 l$ ]+ g5 s题目
    2 }' u3 p/ [3 x" p3 {/ @核心方法:- n" M: v6 C% a( L* d
    问题一2 ]" _6 f9 P& k: b1 C
    问题二
    - g% _& A* _1 {; r; T问题三和问题四
    5 |% K5 H' K1 G答案如下:8 j" u$ y) n9 K5 J1 u# j1 ?
    题目
    4 H$ s% J2 j, F$ \  R( a. E8 b
    & J6 r! P4 S/ W9 e  D$ U3 W' X
    - m- [1 f- ^8 s! N( ?+ a; w( |2 j% e
    # p( \. `0 l8 f3 w( C7 |4 k/ `
    * F8 J$ s. k8 T
    * v3 t  z) ^8 Z/ o: h+ B

    3 B; K, f  `$ y# `3 b) T核心方法:5 _; I0 P) s: K8 `% _" M! ^
    热传导
    & U4 }+ Y* d' |7 u( ]有限差分法: a: T, m6 D" K% v  x. c* o! l
    遍历法& g7 ~0 F: d( A  P5 G( E1 ^
    : q, Z2 y( B* v" Z0 u
    + @% p4 ]% o/ h9 f* ^: U, o5 s9 ?. q
    问题一7 t9 Z0 H& f) i8 a* y5 x5 K
    建立焊接区域中心温度变化规律模型,推出焊接区域中心温度与其厚度和PCB 板所走过的时间的关系。查阅相关资料可知,由于自动焊接过程中热量传递复杂,因此对模型进行简化,只考虑一维方向的热量传导,即单侧单方向小温区对PCB 板的热量传导。利用能量守恒定律和 Fourier 热传导定律推出热传导方程,再利用附数据件求出方程中的参数,进而建立了焊接区域中心温度变化规律型,即炉温曲线变化模型。依据建立出的炉温曲线变化模型,根据问题一中所给出的各温区的温度参数T1, T2, T3, T4 及过炉速度v,需要求出过炉曲线,即焊接区中心的温度变化
    $ K: Z% o6 m  \) N8 V7 A+ g( U3 Z9 w, P5 d0 d

    % X* u3 V7 f5 i8 f对于热传导方程的求解,需要先确定热传导方程中的参数—热扩散率,这
    ! `9 T& o3 u% [3 w* W6 R" m$ \& |' J可以通过附件提供的炉温曲线数据进行参数估计。热传导方程的求解可以利用差分法进行。4 R7 v: G; R' D" T$ Z5 @4 C0 j
    % E# m  v6 I4 |! {" d3 W
    1 }! P( N& b4 w$ o% E
    // lamda的计算的部分代码
    ! }2 p3 @# y, o1 n& Tarray=zeros(76,length(x1));
    4 e- |% x  Z5 [: _; |array(1,=y;: m& f; R. g& D! b
    array(:,1)=z(:,1);
    5 ?0 a1 _# {; L: U" S4 a8 l" Rfor k=1:31
    $ h: g: A" j( x    for j=1(1)-1
    . k0 g+ ^4 o% W0 o' J  G: M        for i=2:757 X  ~& {; y3 F! D( s+ x
                array(i,j+1)=array(i,j)+u(k)*(array(i-1,j)-2*array(i,j)+array(i+1,j));/ K4 A# Z% [  I1 N$ m! k1 g1 M
            end
    ; m/ ^3 [' N& p) Z        array(76,j+1)=array(74,j+1);/ b8 I+ J7 e( o  r
        end
    6 u! I; o: f8 c2 ?2 Z    e1=1(1);
    1 U  F3 k5 W% p0 R3 Q0 V. R    e2=time(1:5,;
    + p$ U/ I, ~! f1 s/ y    [C,ia,ib]=intersect(e1,e2*100);8 t" ^  ~& J& }0 W7 `
        for i=1:5
    8 C8 S. N8 p4 E( R! V  U1 o        b(i)=array(75,ia(i));
    4 E1 `, b. Y' P! e$ T5 p    end9 W/ L% @4 O- V, f2 G3 [$ Y
        for i=1:5
    + q$ t- a& o, ^% V% }        c(i)=(temperature(i)-b(i))^2;
    3 j* P0 |5 o' M4 Q4 d4 F    end
      `" o- \* d0 f6 I3 V    rss(k)=sum(c();
    3 G% w/ Z5 V/ I) Hend
    * V2 \! g. w% E% L' o( C. wresult=[u;rss];. N. {& S) W$ x- ~) j
    1( A4 J; X0 _7 Z9 r  p8 b4 w1 [1 I
    2
    3 s  \5 r- T) @4 ^# T) V3
    6 ^) }4 t, y0 v' m; E4/ G% R% H9 `0 f+ j
    5
    7 D  c" j5 b8 g66 h) O0 |, c( ?# R+ W  e, \
    7
    & W& F; O: `) M* u. A8
    2 u. W  I& C1 o3 |' V9# K1 F5 H- w& t# U
    10/ @' d- v6 x9 \
    11
    : M$ a) H2 s# M9 M9 F% d1 t1 B12/ ^5 A% x6 ]2 K; u9 J. ]. @
    13
    " O6 U: h- O9 Y" u! N; I: N. t. z14
    ' }0 ?) [) F+ G15  J& [/ V; g4 M% s  E/ r
    16
    , A" @6 x# ^: J+ U* b2 H' b174 {9 A" h7 O1 Q4 S
    18; i2 k& x( I5 \9 ~! r1 j
    19$ O) I  ~4 \* p* H' y
    20/ v. j2 l: D" N/ [& X7 e- [
    21+ |" F1 x7 h6 [0 w" S3 X( h! G
    220 L6 J* l7 H: f- X# a" f
    235 s1 ^" S8 \) }) Z
    有限差分的核心代码:
    3 j; T- }; x2 G6 j- F3 M7 V: e; p, m/ h1 r. |' [/ H) Y* M5 ~$ {* w
    , R& _+ }+ @' s6 p% {
    //有限差分的核心代码! z& k; W7 B( A/ ?% f8 L1 C
    array=zeros(76,length(x1));, ^, s; m4 l+ P# e5 z2 U
    array(1,=y;
    3 [& _  V9 V) D: s* H; yarray(:,1)=z(:,1);$ }2 B) D% w' \
    for j=1(1)
    / n9 e% X, `6 q( t    for i=2:759 i9 V- R/ W5 v5 W2 M+ {# G
            array(i,j+1)=array(i,j)+u(1)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
    ! |, O& _- L5 s& A( B- Q    end1 _6 c; i( ]# b' T
            array(76,j+1)=array(74,j+1);
    7 i* v6 ~# z: W. K7 U8 ]4 u2 Wend
    % F# ^. f- i, q- u9 O: O5 K' G5 M: vz(:,2)=array(:,2143);1 T1 M8 n4 u; P8 n
    for k=1:9
    / h  P8 v& V9 y: H& r% W: |    for j=L(k)(k+1)7 D, U7 b4 e9 n* _2 ]& J
            for i=2:75
    2 m% |- C/ f4 |            array(i,j+1)=array(i,j)+u(k+1)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
    7 q- k' g, [3 a, S; p        end
    ! y9 @% c3 @' Z) H            array(76,j+1)=array(74,j+1);. I+ k' }2 k  e5 ?
        end6 P' t5 p2 `1 ]1 a) _- S
    end7 Y+ E" j# H: f, h$ o- D" P
    array(:,length(array))=[];
    + {0 Y% y5 |- r6 B% W
    2 c: [2 l$ s8 M8 \
    1 h! A$ Z7 b3 \, p
    12 d3 Y. h4 P! e( y
    2
      @% T2 T. Q6 |! Z7 }. Z* b3
    + p. j# O& v& g, k4
    $ w$ f' e% k2 }5
    : `8 r5 H- ~- B( k9 A: d3 F6
    8 a# B3 b* q) }$ e# ?% p% g7
    # {5 E0 ^5 v: F; x( s0 ]81 F$ i% T! D9 I* l4 O4 }
    98 O8 o6 T$ l) Q
    10
    ! c8 r9 w4 s# `114 t& u! w8 n& u, v
    122 d' N+ a; Y0 \
    13
    " S8 k' h9 ?4 I9 |+ Z14
    3 }& ]+ U; \. I' \- H15
    3 I1 ?% ?6 C4 ^! K/ `; p: t16
    1 V% p9 A! J6 \5 _0 I* x3 F& H17
    5 C, j9 X! c1 k1 V: S( g, T' W2 Q18
    9 a1 O; ]8 t) f+ U! ?) R19# ^: r: N$ z. X0 E# L# K
    20
    5 q" D2 i; u/ t# B8 C9 A21
    2 }! ]9 x$ A  Q* x2 k  c得模拟数据和真实数据对比得炉温曲线:
    7 t4 u% h; O7 _7 N+ p; R6 S3 R' d8 _- d7 B+ G
    : m. {0 I3 \/ b: a

    6 f% p$ T0 r& d' U# B
    % O, ^' y2 t7 G* f
    问题二, ]1 n+ ?! M; Z& w3 {
    问题二中,基于问题一中所建立的炉温曲线模型,在四个温度参数给定的条件求取传送带的最大过炉速度为优化问题。此问题可以看做是问题一所建立模型的反问题,即在温度分布7 `4 \/ G" l4 S, y2 A0 k, R' }
    已知的条件下,要求通过该分布计算最大过炉速度v。在具体求解该反问题时,可以利用遍历法对过炉速度进行遍历搜索,这样就将反问题转化为了正问题的求解,从而问题一中模型方法都可以继续使用。% f, M5 U9 r$ v' N# S$ u( ]* H$ H
    ; u* [1 m8 G* P* }2 J/ j
    ! {! o, t; Y, }" [2 n
    问题三和问题四
    . i# i# m$ v# m7 N( }0 ~( p, N问题三和问题四仍然和问题二类似,也是对过炉曲线提出了不同的要求,进而在这些要求之下确定影响炉温曲线的 5 个参数 T1, T2, T3, T4, v ,求解也可以采用与问题二相同的遍历法进行,但由于此时遍历的变量个数增多,如果遍历步长较小,必然会使得计算量增大,因而必要情况下,可采用分阶段的遍历,即:大范围,大步长,小范围,小步长。需要考虑的就是对于面积和对称性的数学描述,面积可以采用积分的离散化表示,对称性可以采用以最大峰值温度两侧取对称点,使对称点的温度差值尽可能小来实现。, i: s# t7 z, z
    ! y0 B! Y& h; W" }+ P
    $ J! Y7 A& P. t, ~( F
    答案如下:
    % y4 o0 X; d. u, K; Q  A6 q6 h9 s+ W! P7 O& G. S# F

    $ x; Q7 e5 k5 M$ `3 X1 T注:用以上方法算出的结果均在最优解范围内,详细解读请待下次,困了该sleep了
    + k2 X* c$ i; m& Y. y9 B( ]————————————————
    9 j* {4 ~! s8 U; q8 N1 Z) h版权声明:本文为CSDN博主「盈博简」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。4 H7 w  d" ~, ~% k
    原文链接:https://blog.csdn.net/Sandm_Hou/article/details/112726635
    , T) l# a, r3 I
      f7 ?) Q8 E5 G  `& [0 |3 l5 Z2 F* B. U$ b3 c% C
    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-28 22:26 , Processed in 0.667885 second(s), 60 queries .

    回顶部