QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5326|回复: 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 C2 a$ X2 Q5 J% ], \2020全国大学生数学建模A题思路讲解与核心代码
    0 V; z2 C# T" {/ `! A; M* k1 n9 ~: |6 l2 T
    2020全国大学生数学建模A题思路讲解与核心代码
    9 A2 y. ]- f9 R: L/ U7 h7 _题目+ a, S. R. m5 z! q
    核心方法:
    6 X5 Z, {- P9 u1 e* w" U+ X( N问题一
    5 d8 X) r) O* E4 o8 {- i1 q& Q1 j问题二
    8 Z: A! }, a, E# O6 r8 p问题三和问题四# V1 a  n% o" d- M# I0 x, a
    答案如下:
      U# e0 V  w1 ?7 ?* g; a/ Z题目0 R8 G. i( b7 e' T
    7 N- @$ J9 B1 w% A

    $ d+ n! o* X/ c7 Z7 Y. m
    + t) a  L% Q* U# a7 @8 v- c0 R% a
    3 Z$ m  C! p  C% l

    4 y) A1 }# a! \: I

    - n+ G4 C* B6 Z2 l. @核心方法:
    1 Y: L! i) y" M* K- |: C, e热传导
    + ]9 z+ [# y8 T: e/ h  a& K; B2 W有限差分法
    # C4 @8 R3 A  o$ Q# d, a3 R% N遍历法) o- v/ i, ^7 n2 W# c. L) k

    0 J# ^' E* a: c* L. T0 @1 b% m  [
    ) W3 t1 c' n) v) h. x
    问题一$ Q; }- E/ O2 {. [7 C* g# U
    建立焊接区域中心温度变化规律模型,推出焊接区域中心温度与其厚度和PCB 板所走过的时间的关系。查阅相关资料可知,由于自动焊接过程中热量传递复杂,因此对模型进行简化,只考虑一维方向的热量传导,即单侧单方向小温区对PCB 板的热量传导。利用能量守恒定律和 Fourier 热传导定律推出热传导方程,再利用附数据件求出方程中的参数,进而建立了焊接区域中心温度变化规律型,即炉温曲线变化模型。依据建立出的炉温曲线变化模型,根据问题一中所给出的各温区的温度参数T1, T2, T3, T4 及过炉速度v,需要求出过炉曲线,即焊接区中心的温度变化/ b% W0 `& j- I" ?# j6 ~) S& ~- ^
    1 S9 O7 a3 I* ]2 c
    % H4 i2 S3 Q4 O$ ?5 c& X
    对于热传导方程的求解,需要先确定热传导方程中的参数—热扩散率,这7 h  s: a* V% Z8 e, W, d
    可以通过附件提供的炉温曲线数据进行参数估计。热传导方程的求解可以利用差分法进行。
    - J4 W; j2 q) y) w9 v/ I: v5 w% A: s
    ! `1 r: G2 M1 z1 f& t4 p* |& B
    // lamda的计算的部分代码
    9 O8 n$ W) Z! C' q2 @: o, y- e; jarray=zeros(76,length(x1));
    1 [, x* \8 e- C& aarray(1,=y;8 {. B& H2 W: }9 ?) x  i
    array(:,1)=z(:,1);# F' i2 |  E$ k7 t
    for k=1:31
    * y" `' g7 o2 T' O2 F) {% g4 G    for j=1(1)-1: h, |: ~$ G& L; ?4 X+ m
            for i=2:753 ?  P& j1 B& M! R! j
                array(i,j+1)=array(i,j)+u(k)*(array(i-1,j)-2*array(i,j)+array(i+1,j));4 D1 r& s- L* G; M9 G
            end" b) w9 G$ ]/ _, w
            array(76,j+1)=array(74,j+1);
    0 h4 E) O1 o$ H    end
    2 g/ s2 F! K2 `( p. Q% p    e1=1(1);7 d2 k; M) l: ^  _+ w% ?
        e2=time(1:5,;
      U% v! A7 H: T  j! }    [C,ia,ib]=intersect(e1,e2*100);
    $ ~8 h2 F7 Y6 w, J- y    for i=1:5) M) ]" F1 @* M: C
            b(i)=array(75,ia(i));* A4 J1 q1 g. N- E6 Z
        end
    ' \# m4 V8 N! f$ p: @" N- z    for i=1:5
    " w$ d; e6 n- k        c(i)=(temperature(i)-b(i))^2;+ n! V4 t9 K' w7 u/ w" V$ I
        end# x& U( _8 n& n* P6 V) [
        rss(k)=sum(c();7 T" a3 b, |' {9 @  ?0 l
    end5 |9 o/ W5 ?2 ^) d) E0 ]) i
    result=[u;rss];
      F! V* |- H3 h1 }- ^16 q8 y$ o9 ~: a) d  B
    2
      E# R2 \: y  F0 h- @- E3 o; l9 i3
    ! z- q2 E, {8 u& c3 n4
      k/ g, @/ \; v9 d* Y& K5 g55 c* W4 F% e/ e9 j
    60 K6 `. s) H1 j2 x3 ?+ ~4 }2 g% d/ h
    7
    & h& p. v  V6 k8
    6 l: a4 D& S1 }& |9 r" t$ T# m5 u94 [  u' T+ V! Y! S) p& \' Y
    107 v( X( O! e9 J
    11
    ' i, D: Y( F, Y' d7 Y7 O/ L5 K+ V: X124 f- N7 H+ C* H  Y
    13& ^0 c, P* v# R9 |" `  X
    14
    2 a- j0 r; q2 s# l% Z15# v/ C6 V# d7 A8 H6 l& J4 z+ K
    16
    . I# ~' Q/ l+ i/ q6 \7 e171 z2 l8 j% v7 G" o* L
    18
    - N. n+ _' v. y' w/ h: ^192 U- r1 h' h  z7 {8 O
    20
    ' g! @* b7 V2 f( h% O21
    # J8 u) _$ Z! m. B# ]. U22- m( a# Q. q! d5 e' x+ U+ K9 o8 w# A
    23
    - \$ Q7 Z# v$ _: `: _% B有限差分的核心代码:
    6 t' b' Q9 C$ {- Y1 j5 Q- R: _- X
    % [1 f8 _, L- H' |
    " G- ]! w1 \; b4 W, F  O
    //有限差分的核心代码& t7 w* U8 n4 C8 g! P, a
    array=zeros(76,length(x1));
      F& p7 N9 `4 @4 G2 N9 K1 x: W: ?& Warray(1,=y;
    0 J5 O) K7 {  J) o, e6 ^& rarray(:,1)=z(:,1);
    : W: v# }6 T9 ?; z3 T5 efor j=1(1)
    ' ~2 g6 N1 o' g    for i=2:758 v, u; G' U1 i7 }! p* p  j3 l3 O
            array(i,j+1)=array(i,j)+u(1)*(array(i-1,j)-2*array(i,j)+array(i+1,j)); 6 D. h2 w3 z5 B  u/ s, f# G) \" p9 L( c
        end! H4 Q& C( h% k6 L0 D3 Q
            array(76,j+1)=array(74,j+1);4 s. N( |; A' L) D8 F. U
    end
    % Z0 {: d( V1 S; l* Oz(:,2)=array(:,2143);/ [* [0 F' j! S4 F3 T, O  h+ G. n
    for k=1:9
    ' S; k4 q: B: x* ?. K    for j=L(k)(k+1)
    " S1 N" l5 D# r5 D, ^$ }' z$ W' M        for i=2:75* l, T+ O+ t( U% V
                array(i,j+1)=array(i,j)+u(k+1)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
    2 ]! o; [+ y7 o/ h6 o; l        end4 l5 h" p; V4 {# U
                array(76,j+1)=array(74,j+1);& [. ]8 C- `% c; V: r$ p' e7 r& o+ V
        end
      F# U% V4 q; o0 p; Z9 U4 Z- Rend
    ' G1 o" K% Y! f# u5 Q8 b5 ^array(:,length(array))=[];
    ( g/ j, p3 q( I3 t
    . Z( D6 I# F. v* i; r7 |5 X; {- f
    # n7 P4 f- [$ K0 b* N# m6 y
    1
    & v! K8 B- B9 S6 u0 c' T4 i" R2
    0 C; W9 O: ~" k1 m3 a- l: Q0 O2 |3
    ) ^% w) i0 |8 j4; I# d  \% A1 e+ Z9 z
    5
    2 z* A  d& R9 H3 ~3 W) S6: _+ Q# `3 z" t% E. s# m
    7
    0 q: |( ]. ^* ~# q0 p2 Z8
    1 W( x: E) \; @+ i; a9
    * P) K7 U1 w% O2 {3 p10
    # T# v8 z, i' h; s117 v5 u/ ~; e2 R2 ^& ^
    12
    ; t0 Y1 z1 ~1 K5 ^& Z  m13
    " w; [  I. Q: F9 h4 m% n- s" d. I145 R, W/ h4 E7 M) u) W' k5 f
    15# {' M# s, l2 D: S% a$ |
    16
    4 s7 I9 S; _- C. {! b" \173 x) n1 G; E3 M$ O/ i+ p
    18
      g7 S2 }" C. c2 x( W19
    , [& ?' H  P( K  ^, [4 n20
    7 A! h6 Q: h+ s7 U0 R3 q6 d6 `216 z! l* \# M4 e2 ?; G/ i9 C
    得模拟数据和真实数据对比得炉温曲线:
    . g, I" ?8 ^/ z; u& w  W) {7 M0 b" g
    # q# v- s$ T3 X9 y, s

    - \! B! w, \) R+ R! I* n+ l7 _4 R& M0 F3 S$ f+ L0 F

    * }6 d3 M' }9 V2 q问题二
    % {( h4 }9 b0 ~+ V% y2 N问题二中,基于问题一中所建立的炉温曲线模型,在四个温度参数给定的条件求取传送带的最大过炉速度为优化问题。此问题可以看做是问题一所建立模型的反问题,即在温度分布% ~) ?4 I6 e) V" o: K$ X+ n) k( M! g
    已知的条件下,要求通过该分布计算最大过炉速度v。在具体求解该反问题时,可以利用遍历法对过炉速度进行遍历搜索,这样就将反问题转化为了正问题的求解,从而问题一中模型方法都可以继续使用。
    : n- Q$ {% L8 [- V+ g  E# w
    3 }) u7 v9 H0 X1 D
    1 S8 c* \3 C$ s7 F3 c0 E: X
    问题三和问题四/ Z# x  c: J+ v
    问题三和问题四仍然和问题二类似,也是对过炉曲线提出了不同的要求,进而在这些要求之下确定影响炉温曲线的 5 个参数 T1, T2, T3, T4, v ,求解也可以采用与问题二相同的遍历法进行,但由于此时遍历的变量个数增多,如果遍历步长较小,必然会使得计算量增大,因而必要情况下,可采用分阶段的遍历,即:大范围,大步长,小范围,小步长。需要考虑的就是对于面积和对称性的数学描述,面积可以采用积分的离散化表示,对称性可以采用以最大峰值温度两侧取对称点,使对称点的温度差值尽可能小来实现。
    6 y9 v- B1 `' [8 c% x* q* _8 a* B; m3 S
    3 G& I4 @! ^6 {- W- c8 K7 t9 s
    答案如下:/ z  x% ~6 [# j

    : ]$ Q( b+ d! ?! ~3 r5 X5 B- I+ p
    ( u# Z0 M# h5 _% x# g2 y! E
    注:用以上方法算出的结果均在最优解范围内,详细解读请待下次,困了该sleep了
    & j: t& _1 ^# t6 K& q  u————————————————1 a9 N/ J: ^+ U8 y" W7 ]: s2 x
    版权声明:本文为CSDN博主「盈博简」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。5 E, I0 s- v' E; ?
    原文链接:https://blog.csdn.net/Sandm_Hou/article/details/112726635
    6 _8 r7 ?0 j1 y3 v
    ! R3 K# K6 z$ x  E) |! w* e2 q1 B, K" t
    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-8-3 01:21 , Processed in 0.424996 second(s), 61 queries .

    回顶部