QQ登录

只需要一步,快速开始

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

    4 Y5 e; P1 f* P" U2020全国大学生数学建模A题思路讲解与核心代码% e: e  {4 g) e# i# F7 Z( M1 j

    0 F* ^( u' J3 x: q" Y% \8 o) Z2020全国大学生数学建模A题思路讲解与核心代码+ p- {) i" Z9 D- |8 m+ L3 }
    题目
    ( w  v" K# L! C$ U& }核心方法:- E& a1 v5 p% j0 j
    问题一0 u1 L7 F! m( K0 b) s
    问题二, n, w) n4 T. L* \  c- W( ^9 {
    问题三和问题四' x# A* G( g8 x
    答案如下:: t; O5 z$ q9 S1 R7 U
    题目
    ! }9 E" M2 d, f1 u& m" z6 l
    $ `6 c% C% F- S) p  s& y
    # x1 U: w; h. Z7 J, }" c* e& S9 h

    + j3 f9 J& H0 l

    0 M3 `! a% H) u' |" d
      @8 }6 U' z7 t4 H6 t
    # R) w( n0 \( j' ]9 R! m" w3 w
    核心方法:, E" |  o# s0 h2 a
    热传导; S( E6 I4 R& k$ q: ~
    有限差分法8 i/ {( A3 m& v' m) }) Y
    遍历法
    ; A3 A4 n6 c8 t2 e4 L" G7 z; X' N( g. f9 h8 A; D0 \. N3 `3 P" j3 O7 J

    # _+ L9 ]) U8 H( w问题一
    8 L; H2 \& I# `5 S, a2 d% ?建立焊接区域中心温度变化规律模型,推出焊接区域中心温度与其厚度和PCB 板所走过的时间的关系。查阅相关资料可知,由于自动焊接过程中热量传递复杂,因此对模型进行简化,只考虑一维方向的热量传导,即单侧单方向小温区对PCB 板的热量传导。利用能量守恒定律和 Fourier 热传导定律推出热传导方程,再利用附数据件求出方程中的参数,进而建立了焊接区域中心温度变化规律型,即炉温曲线变化模型。依据建立出的炉温曲线变化模型,根据问题一中所给出的各温区的温度参数T1, T2, T3, T4 及过炉速度v,需要求出过炉曲线,即焊接区中心的温度变化
    3 ~' o' y- c% B* G2 ~1 J% V) e6 ~" M, m& z/ v8 p, S

    7 q' T2 o3 V9 ]对于热传导方程的求解,需要先确定热传导方程中的参数—热扩散率,这- Z5 n0 U3 J( x
    可以通过附件提供的炉温曲线数据进行参数估计。热传导方程的求解可以利用差分法进行。. R# Y- i, ~# e& W: s
    9 ^! `+ N' B" J- m" M' ~
    " m! R% |3 P: q
    // lamda的计算的部分代码
    ) L2 K) O! H7 `- W; Varray=zeros(76,length(x1));
    3 ?) B; r$ x! I. ]( I. jarray(1,=y;
    % n+ c( ?) p) Y& e+ O7 aarray(:,1)=z(:,1);
    0 L# {4 a$ l6 m4 z! K+ D- Nfor k=1:318 M+ [6 E& V5 d! f
        for j=1(1)-1: O! h2 r" Y" V8 D( g( a9 u" }% C
            for i=2:758 @& F+ T3 }9 m
                array(i,j+1)=array(i,j)+u(k)*(array(i-1,j)-2*array(i,j)+array(i+1,j));% k1 o0 J" T7 u. r8 g4 w0 c. R
            end
    % Z- k6 V# |$ v$ B2 Y4 s: k6 @        array(76,j+1)=array(74,j+1);
    / r: Q8 Q6 }( i' F    end
    ( T* q# d  k! k: _1 `) X2 `& S/ ?% l1 h    e1=1(1);
    : W# G) p% [. o- t( g    e2=time(1:5,;0 j3 G! j* |6 D# O: U
        [C,ia,ib]=intersect(e1,e2*100);
    * c7 r6 u8 Y1 N- X9 f    for i=1:5; p" c  M0 D$ q: U5 W
            b(i)=array(75,ia(i));& s4 C6 E% q0 ~9 G/ [
        end1 f0 ?* Z( s0 g1 o' W  J/ J' X
        for i=1:5$ D  P8 O! f! }; y. ]) a; T7 ~: K
            c(i)=(temperature(i)-b(i))^2;3 R/ z$ W5 [3 Y& J2 C
        end) Z& Z  P3 v- }/ q# \, K5 t; i# _
        rss(k)=sum(c();* q+ u+ o+ o- M. t( r) K
    end
    2 n* q( i5 F$ s3 Presult=[u;rss];
    ( u$ x+ Q5 {- n; G6 b2 O$ y1- F. y& J+ @7 Q$ F* H% ]
    2
    - Q0 @8 A  L- Q! o7 P) Z3
    - N  j+ B0 w2 b8 m9 q; \42 q% O# F2 T+ w  N# \% y) @9 y
    5
    " L" V. j+ b7 m9 ^3 q6
      A) b5 @& P  j2 i" z7
    2 K( g+ w5 z7 k- O3 Q5 ^& G8
    " Q5 g9 a! a+ l4 ?  t, M94 W/ E" ^3 [& ]
    10- s% u* @! p$ g3 x  e& s
    116 B! N2 ?5 a9 H4 V( B
    12, @6 \- B) P. M, q
    13
    * n1 i) [6 Q2 u2 E  f14
    " _$ J% l& e7 T' k- p15
    ' R2 l. X% F) D( _7 z16+ c% Z+ I0 Z: O! p( a3 @) d' Y9 b. M. M
    178 X/ ]( }2 ?* G9 A8 V, ?  Y% H- K  z
    18
    & O0 ~% d! `$ Y7 q. j  s" e& c/ `19
    * B; z4 Z5 X' r, M202 T* F# c) v1 ]0 y' [. W& r% A
    21# y9 F& a, ~  }
    22
      a1 b! q+ J& v7 I/ N' c23
    & i/ M3 |6 g) n, d8 x有限差分的核心代码:" Y! G, l0 ~# K/ K- ~3 I4 Z

    ) P& K8 j- l( I7 s

    & L/ |; S( L# t//有限差分的核心代码: T- d% O# F2 n) A
    array=zeros(76,length(x1));6 N9 @6 c2 {9 Z8 \4 a: O3 J2 `1 Y1 Q2 b
    array(1,=y;
    ) c8 I; C$ h; K/ parray(:,1)=z(:,1);
    3 z1 D7 O3 l; }* j8 Mfor j=1(1)4 H1 e/ o( ?. Q0 T7 s2 g+ I
        for i=2:75- E+ ~& q" y% O2 I* m5 K" L
            array(i,j+1)=array(i,j)+u(1)*(array(i-1,j)-2*array(i,j)+array(i+1,j)); ( G% C* p2 I# d
        end
    1 N& t% r3 g7 {  l        array(76,j+1)=array(74,j+1);* E; X% ?; l2 ]; [$ [6 c
    end' [- D& ^' d) R: i6 o. `# w
    z(:,2)=array(:,2143);
    3 n% c% I/ h. D- Gfor k=1:9
    . E$ |/ p1 _& r* Z- m  p& s, Q    for j=L(k)(k+1)& P6 W: q" y8 l9 f: g
            for i=2:75" I7 c9 {+ _) h9 N5 [
                array(i,j+1)=array(i,j)+u(k+1)*(array(i-1,j)-2*array(i,j)+array(i+1,j)); 7 w! ]! l4 g3 ~
            end
    " K) K5 y3 Y( i6 q            array(76,j+1)=array(74,j+1);3 E" m- S  w8 G4 e8 q3 O! b
        end
    ) {5 J) x) |1 u) V  z4 D; cend  G5 y: A( r+ x* Y
    array(:,length(array))=[];
    / H4 r' X- n: P. d* q* p+ h- p
    1 w. ?& o6 K2 B, ]
    3 e5 s& W% w' h1 v0 B
    19 m9 v( }( S3 t+ z! \/ T( k0 D6 ]
    2
    9 `4 ~' u' E' ^: s3
    ( [9 P5 P6 W/ Q4 q. n; v( n2 d, k4
    2 h! X$ k, }4 F; Q4 u4 ^. D5
    5 ]7 q7 n9 d& Q  o0 a, z* S6 I6 ]6
    + g) W0 S- A9 D; K' A# [9 \73 W6 T# L" c3 f4 B
    8
    9 `0 Q# O3 C# ^' ]# R7 q# }3 @8 d9
    + S, N. N, y4 O6 [' ~* z10. J* v- R7 }7 T8 k/ q7 f7 R( w- O
    11( Z8 t8 e8 o, \8 ^% E' I4 b. ?
    12
    8 V8 m6 s( f  x/ P! K: X" ~+ F133 O! B& \: {0 \& O- m8 A  @( J
    148 y6 y: I  a0 H6 g$ e# \( Y' G2 G9 Q
    15
    % R$ n* f1 D7 ^$ G. i" H2 S16
    / k" c* f: C& j17
    , L9 p- N, S# T18
    4 R. U5 o5 d" p+ V19
    1 }7 \% @, q' _+ g20: E0 p) g8 y7 z) k: X" H% L4 W
    213 t, ?/ v. h8 |- Z/ L/ F
    得模拟数据和真实数据对比得炉温曲线:
    + h3 ~6 p) c  j# M$ q  W" O9 ^

    1 e/ ~& O" l; p# h; d2 I
      _, O: T  @. ?$ P7 }9 \/ \" Z

    ( w" Q3 v' ~. x! ?  t- R3 Y问题二
    7 d7 q2 h) A5 c$ f- B问题二中,基于问题一中所建立的炉温曲线模型,在四个温度参数给定的条件求取传送带的最大过炉速度为优化问题。此问题可以看做是问题一所建立模型的反问题,即在温度分布% R3 ^! A$ r& D$ ?
    已知的条件下,要求通过该分布计算最大过炉速度v。在具体求解该反问题时,可以利用遍历法对过炉速度进行遍历搜索,这样就将反问题转化为了正问题的求解,从而问题一中模型方法都可以继续使用。' I+ H  H( n! U0 U

    6 M6 w% V4 o# [1 a7 O
    7 I# L  R$ ~- v& T9 \
    问题三和问题四
    - ]+ V2 r- M! V# R5 ~/ k问题三和问题四仍然和问题二类似,也是对过炉曲线提出了不同的要求,进而在这些要求之下确定影响炉温曲线的 5 个参数 T1, T2, T3, T4, v ,求解也可以采用与问题二相同的遍历法进行,但由于此时遍历的变量个数增多,如果遍历步长较小,必然会使得计算量增大,因而必要情况下,可采用分阶段的遍历,即:大范围,大步长,小范围,小步长。需要考虑的就是对于面积和对称性的数学描述,面积可以采用积分的离散化表示,对称性可以采用以最大峰值温度两侧取对称点,使对称点的温度差值尽可能小来实现。8 Q6 C7 j( g/ l1 [' g3 H) H  }
    7 n  M+ U* z" V3 O' |& _. r; D

    # k2 k! N3 U1 \; M1 k5 J答案如下:/ R$ Q* m) ^  I" \$ U

    * ~+ J! g7 B7 I0 [
    6 z  Y  r: d5 F8 z
    注:用以上方法算出的结果均在最优解范围内,详细解读请待下次,困了该sleep了
    ; _+ Y+ G* R8 e: D6 m  z: w3 n————————————————
    $ x4 Z" A  g0 A! W/ m! o# D版权声明:本文为CSDN博主「盈博简」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    3 d) k' E- u( b. b9 N/ Q3 `原文链接:https://blog.csdn.net/Sandm_Hou/article/details/112726635( p$ E, S( ?- Y8 f6 [) E

    7 _/ R! F% N0 K# M7 d
    ! _& w5 t% I9 }# K# _5 b0 k" [( n* 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, 2025-11-6 01:40 , Processed in 0.449972 second(s), 60 queries .

    回顶部