QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5246|回复: 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
    " I- H7 u# {1 j- A) Z, [( M
    2020全国大学生数学建模A题思路讲解与核心代码. o9 {# H0 x: ~6 s
    + i! \+ M* T! q; V% b: U" W9 p
    2020全国大学生数学建模A题思路讲解与核心代码
    ! P$ F. T& S) g2 m题目
    0 j! F& t# e% X, ?& L核心方法:( p# T2 p# C6 N) S- Y
    问题一- \  J/ a1 c) M5 \5 @4 {
    问题二
    3 x. f2 S! j9 Z2 \, ?! B问题三和问题四
    . l; W( X+ F7 [4 C" P" e答案如下:" ?1 u. m7 Z& v1 x8 T
    题目
    4 |0 D3 L+ F- S
    / S" M9 _4 U, x3 }; l; \

    ' G* d, t) Y' L5 X+ K
    2 R2 A! ]: j! z" l3 I# z" y8 S

    2 E( k3 B: {: p6 p! C! `
    $ L1 C: r( M- ]+ q0 b: T1 w7 D
    * L. y% @  |" g% Z" J" x! v0 g7 B
    核心方法:2 {5 F! _9 L  E# z: u: H$ Z+ ]1 K9 L
    热传导0 a7 t) R/ Q+ F. B5 P
    有限差分法* ~' ]  p0 ~* M
    遍历法
    7 ?4 E& }$ ~4 m& G+ L9 _% y
      ^$ v; ?) w4 w# u! T

    / n+ b1 m" [( X( W问题一
    , z! G3 T/ C. ~# ^, d; M2 G6 M建立焊接区域中心温度变化规律模型,推出焊接区域中心温度与其厚度和PCB 板所走过的时间的关系。查阅相关资料可知,由于自动焊接过程中热量传递复杂,因此对模型进行简化,只考虑一维方向的热量传导,即单侧单方向小温区对PCB 板的热量传导。利用能量守恒定律和 Fourier 热传导定律推出热传导方程,再利用附数据件求出方程中的参数,进而建立了焊接区域中心温度变化规律型,即炉温曲线变化模型。依据建立出的炉温曲线变化模型,根据问题一中所给出的各温区的温度参数T1, T2, T3, T4 及过炉速度v,需要求出过炉曲线,即焊接区中心的温度变化8 I0 d- ^" C* b
    $ R' j3 E$ O5 }$ u
    ( t3 p4 f  A, ?5 g) k
    对于热传导方程的求解,需要先确定热传导方程中的参数—热扩散率,这% A* V- P9 }! d6 I$ r3 @
    可以通过附件提供的炉温曲线数据进行参数估计。热传导方程的求解可以利用差分法进行。
    * P8 e! ~6 Z1 Y- o, x+ p; a
    ' X* z* W1 I" _0 K0 D
      s9 e5 j  J% C1 m! w3 ?
    // lamda的计算的部分代码; ^) P0 o' X2 ~% @8 Q" ?1 Z
    array=zeros(76,length(x1));
    ' o1 z7 H' H) {7 }array(1,=y;2 w8 E# O9 u0 H( b3 f( s# d
    array(:,1)=z(:,1);3 n4 y" @0 v: C% K2 k: ]
    for k=1:31
    & ^  x6 ]" W/ E- D; W8 k    for j=1(1)-1! Z/ A' I) m& K4 q2 J# w7 ]
            for i=2:75
    & j' x/ u( D6 N; q1 e9 G+ c            array(i,j+1)=array(i,j)+u(k)*(array(i-1,j)-2*array(i,j)+array(i+1,j));* B) @7 u) A& {4 H$ `# S
            end
    ! ]/ q0 q' ]1 C6 i" ]  c        array(76,j+1)=array(74,j+1);( c: Q8 m2 N# W# |0 p3 B
        end
    $ x' ?1 J; ^6 ]+ @5 z4 a    e1=1(1);  A% g( L0 ^  c! i- f
        e2=time(1:5,;
    7 K% z6 d" d4 ^+ I% H% O$ Z    [C,ia,ib]=intersect(e1,e2*100);9 v- u5 S$ y' i( M
        for i=1:5& x  T' V8 [* R4 M, c
            b(i)=array(75,ia(i));" }( a1 c8 m1 ~) J
        end4 ^. B$ Y3 l2 k6 @- T! V( F
        for i=1:5
    ; g/ Z6 [) D5 w' D8 ^: F" W) `        c(i)=(temperature(i)-b(i))^2;$ |* r7 P# O* |) C; J
        end
    . M  ?" r9 F3 u* w- Q& W    rss(k)=sum(c();
    - C) _( D# l8 b4 A/ h4 @2 t  g+ cend9 n5 d: P5 R0 q3 a
    result=[u;rss];
    8 a7 a" Z+ X4 M- [; ~% {1 `: }10 I6 ~3 \' ]/ p( g
    2
    # ^, l* H& ]: c6 E, t& i3! X+ [$ y% T" D+ ]
    4. d' Q+ O, r* z. i* Y
    5# K4 e& M* n2 A0 q7 n' E$ h: C  u* e
    60 w, ~$ ?: f' t  X
    7
    - F# |3 {2 K& l' F, g2 U) y( m8! H8 E( V1 J, O' b4 @( w* Y; S5 m
    9/ @) i3 ]" d/ G3 v0 P3 k
    10
    ) q6 y. @  Z1 ?$ Q! |0 |" G: D0 V11
    5 j' V- b% c# G3 M12
    , _# k6 I4 J5 W0 e! P/ t13
    5 U6 p6 T5 k( X) K14
    2 s3 S% f& j! D- p) Z15
    - c  O, z! ?0 ^( H5 q16
    ; O# U' q8 G3 F% Q: z' I) W! [' o17
    % s. l6 \+ \+ v# E) N! c18
    $ X! y9 f- z7 F19
    . [- W5 v1 C1 N% J20# ~/ W8 N" s, D
    213 r! G0 Z" z5 e! v( z7 _% ~3 u: [( _
    227 |1 r; _5 R  a& q2 M9 T
    23# }) K9 h$ j# Y# V) d
    有限差分的核心代码:
    0 w9 O/ ]. {! V5 ?1 N) T0 f- u" P6 x; n6 a8 X1 h9 Y

    6 C* z# ?$ ?0 H2 |8 p//有限差分的核心代码
    3 V; B) o# G. U! varray=zeros(76,length(x1));% O* u& A  Q9 \$ D% c6 J/ M
    array(1,=y;; Z5 |: [0 Y; |- g# Y" q
    array(:,1)=z(:,1);
    2 c2 @& ^$ X0 F# U% Y3 ufor j=1(1)
    6 z: T/ L3 _3 u1 `# i    for i=2:757 E/ `; L- {% j+ t6 e1 z
            array(i,j+1)=array(i,j)+u(1)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
    8 w- A4 ?2 F7 H1 `  ?" T, W% C1 Z' X    end
    " G0 x5 P; F# b/ C        array(76,j+1)=array(74,j+1);0 u  S7 k* D9 _
    end
    % ?2 {+ L% I! A" d3 Y( l. q& J1 t: wz(:,2)=array(:,2143);
    ' X( n. g+ y6 Y* gfor k=1:9
    2 {* u  A( D- _- L" t( P    for j=L(k)(k+1)1 S% w* u9 \# r0 G1 ?% E
            for i=2:75
    ' g5 z3 ]7 m) g; X; H            array(i,j+1)=array(i,j)+u(k+1)*(array(i-1,j)-2*array(i,j)+array(i+1,j));
    3 O. n/ f) u$ `" z  |        end: O" \8 M6 {4 j* a
                array(76,j+1)=array(74,j+1);7 s+ k8 N, ]- g, E
        end2 Q( D# F) Y% k$ B2 T7 ^" c) T4 o
    end; F/ o1 v9 V) d3 i. Q0 X9 t. H
    array(:,length(array))=[];: q; R& o8 @8 y$ {% C

    % R0 C( Z; K$ E: ^' G! h( |
    2 W$ L. u5 P1 m5 ]) |
    1
    % o0 t  K7 x2 N5 a8 ~6 Z3 N2 H2( T: l- V7 d' H- {. p
    3
    / N+ K; [: O5 k' p0 ~6 Q* z5 P4
      _+ e0 |, F0 W' V  u5
    / @' w% L$ B& l# }2 V! J% B6
    $ k1 n0 W" ]. `1 q  }  [. \' u7
    4 e+ T( U: @0 \6 H8
    5 L5 ^) n* _( _' T. K& {! j9. D9 S7 f1 H5 E0 s1 f- @
    10
    9 @' T" L0 x% U, p: M" W, z11
    8 F4 n0 |) `; O2 B124 u$ q9 X2 T1 Z5 w5 L3 j
    13: a# }* l$ Y9 O) @+ {; F
    14' T8 I1 t9 u' b
    15
    1 p7 i4 J9 _: s' O$ G* C16
    8 c0 `- h, p* w: v  D178 g9 `) ~, D# {  `% v0 C
    18( ?) B* I9 R/ \% g0 L
    19
    ) t8 t# o5 v! E/ T* G# F7 o/ n20, `& ]9 s- }" w% D$ B2 a, U
    21
    " `( ?6 z+ l- H+ w得模拟数据和真实数据对比得炉温曲线:6 Z4 d3 j9 o5 p1 Y- Q5 Q
    8 P! c8 a- _9 K. l7 I. x! ]4 N

    % u2 f+ l) L- V* u
    1 O- b( M& v4 h

    ' f# o% |) ^* t问题二9 J: v& W1 M- u  t0 G! p
    问题二中,基于问题一中所建立的炉温曲线模型,在四个温度参数给定的条件求取传送带的最大过炉速度为优化问题。此问题可以看做是问题一所建立模型的反问题,即在温度分布
    . [4 P; r; e6 @2 f+ [已知的条件下,要求通过该分布计算最大过炉速度v。在具体求解该反问题时,可以利用遍历法对过炉速度进行遍历搜索,这样就将反问题转化为了正问题的求解,从而问题一中模型方法都可以继续使用。9 ^9 l  s' O/ P8 r+ C" f  p

    6 O" W( r* T. ]; K" t1 J% d. p
    ' l; ]+ ]  h8 R8 P) d) o
    问题三和问题四
    % N" t8 l1 p# X, u9 P. d问题三和问题四仍然和问题二类似,也是对过炉曲线提出了不同的要求,进而在这些要求之下确定影响炉温曲线的 5 个参数 T1, T2, T3, T4, v ,求解也可以采用与问题二相同的遍历法进行,但由于此时遍历的变量个数增多,如果遍历步长较小,必然会使得计算量增大,因而必要情况下,可采用分阶段的遍历,即:大范围,大步长,小范围,小步长。需要考虑的就是对于面积和对称性的数学描述,面积可以采用积分的离散化表示,对称性可以采用以最大峰值温度两侧取对称点,使对称点的温度差值尽可能小来实现。
      _: H9 M9 K' h( I: a& R7 c6 a2 e% U+ P" Z5 m
    ) h8 Y  R; R* F
    答案如下:3 e! s. |, B3 N& `, t

    9 [! c4 }; e4 R4 P! j. m* n
    1 t7 w% i# b# y- H
    注:用以上方法算出的结果均在最优解范围内,详细解读请待下次,困了该sleep了4 \1 i8 v6 g- h8 H4 [
    ————————————————
    : P% n2 ^3 P8 E" ]' [版权声明:本文为CSDN博主「盈博简」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。& m) j7 @8 q6 G1 N7 V# z# W5 T
    原文链接:https://blog.csdn.net/Sandm_Hou/article/details/1127266351 @8 Z  x4 N$ N$ Z

    4 o! w2 r6 G  C( V% G  O8 E6 C% A
    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 15:18 , Processed in 0.337699 second(s), 61 queries .

    回顶部