QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1861|回复: 0
打印 上一主题 下一主题

[建模教程] 2018数学建模A题的简单指导

[复制链接]
字体大小: 正常 放大
杨利霞        

5273

主题

82

听众

17万

积分

  • TA的每日心情
    开心
    2021-8-11 17:59
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    网络挑战赛参赛者

    网络挑战赛参赛者

    自我介绍
    本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。

    群组2018美赛大象算法课程

    群组2018美赛护航培训课程

    群组2019年 数学中国站长建

    群组2019年数据分析师课程

    群组2018年大象老师国赛优

    跳转到指定楼层
    1#
    发表于 2019-4-6 14:23 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    2018数学建模A题的简单指导2 U4 i" x8 A1 w

    ( o* X; T; i# A* q' ]% Z之前写过一篇博客,介绍如何使用差分格式求解热传导方程: r* ~* D3 |/ b; ?& x& @

    - r( j- g9 R* x5 v) z( j9 w今天打开博客,突然发现评论区被这篇文章霸屏了
    / o8 x7 p5 U( l9 a: |& r8 l; {/ |1 X' u
    6 s$ u# [5 ^; B# e0 S# e7 N

    : d0 Z7 P" T1 A' @' H询问实验室的小伙伴才知,原来是被可爱的建模学子们攻占了
    0 r* n- s6 ?# |( W: M0 q0 Y+ Q! k& k; K4 }. R' U
    经过简单的了解,发现今年建模的A题的核心就是求解一个热传导方程,因此之前所写文章的程序基本可以算是神助攻了,完全可以帮助大家构建解题程序的基本框架。, `3 V+ @, i8 d% C

    ! }2 h1 J1 Y9 x5 ]) K# R4 l5 ?但是!* `6 }% R0 Z  h) ]
    2 k) N8 u& u, z  b: O* D  \  F
    数学建模比赛考验的就是大家的学习能力以及解决问题的能力,我只提供简要思路,不要做伸手党直接找我要代码,不要问我怎么写,请对得起你将来获得的一等奖。
    8 z, H5 u  H+ T1 u  m9 |6 k% k- |' O2 _2 Y
    再有就是,你要先确保你能看懂我已经提供的源代码,否则下面我提供的思路你可能看了也白看。, ]+ A8 w& I+ Q5 H, W7 C

    ) d6 T! \7 m# t% Y, h) E5 \0 U3 f7 Z这里统一对大家的问题做一个回答:6 g7 j: x* n& q$ z; W' Y4 k

    . a, M! {) ~/ G& m4 m+ z, I本题适用差分解法吗?
    ( j3 O+ O! Y6 {' }/ Y; w; S% _0 y% o3 c* A8 L. C$ @
    求解偏微分方程的方法中,差分方法 和 有限元 是两类最主流的方法。3 V. K6 _5 d/ ^; r
    6 V% j9 @; f& i/ N% F/ K8 x
    差分方法的优点是原理简单,但是只能求解规则区域的数值解。
    % s1 P+ L, s9 ^" v8 E) y
    ' M+ x7 x; j; R& ~# Y7 C有限元背后的理论相对难很多,但能够求解不规则区域问题。
    # Q' z/ r  a% d8 S& ?4 v/ U3 C1 Q3 g2 q  x! I3 |6 x, e! y8 B
    本题适用哪种方法解答取决于你的模型假设
    5 r- r0 Y1 ^# J1 T4 P& L3 u% f' B; y( }  ?) I/ S/ D. `! n0 Y
    本题中涉及多种介质的热传导的求解,我的建议是,如果不想给自己找麻烦的话,将每种介质层假设成规则的矩形。: @9 }7 y0 ]7 j6 @+ n- d2 f- b

    ! u4 f4 U) {& X7 _4 ~3 U$ z既然带求解区域是矩形了,那么本题使用差分方法来求解更加合适,关于差分方法,你可以随便找一本介绍偏微分方程数值解的书,都有介绍。
    1 V' r0 g2 v2 G0 n7 H* o- n- s- k3 m: e! o& h6 w) p
    当然,你如果将模型假设定义为更符合实际的不规则问题,能做出来当然是亮点,但切记不要搬起石头砸自己的脚,毕竟建模时间紧任务重。
    ! P4 j+ Q8 t# P. K" y) S% t$ G/ b2 Y/ ]  P
    是否适用于多层壁热传导?
    6 f0 ?+ r8 P% L% A$ h3 R' m% K8 w% w( G: N& v
    评论区有人问,是否适用于多层壁热传导吗?" }3 t8 w4 Y) k0 c
    ; h' t- V3 k' l* y  `. C8 _% `
    其实就是问这个程序能否求解A题嘛,O(∩_∩)O哈哈~
    6 z- t/ y! G& r7 \. ]6 t0 v; b' E$ J. [8 v
    答案当然是能,但显然不能直接拿来用,给几点提示。
      n3 F# k; C/ R5 O) z* u! w' r& H9 j- N' K6 }
    思路1:% g$ }" G( I  W7 r& i
    0 M& w- p9 ^) ]% q! s& t) g
    你单拿出其中一层来求解,和我提供的算例已经没有本质区别了。: C$ w! \+ T9 k- I& B. d: |
    9 y3 g+ R& H3 A' [6 ?# {; L! @
    因此,你可以一层一层的求解。先求第一层的数值解,第一层的结果一有,第二层的边界条件也就有了,于是第二层也可以求了。
    7 h: W+ K+ R/ ]  ~
    ( n" R6 {+ `! F+ }8 n这样做的潜在问题是,第一层中求解的误差,必定会传递到第二层去,数学上可能不太完美,但是好理解,代码改动也少。% m; z& Z2 ~; v: H* Y/ U  A

    * c: e  l% V. J" m8 B: ^7 B思路2:
    " v( f/ S/ K$ t) U& ?5 }& b1 U2 W
    我认为数学上更好的方式肯定是整体一起求解,但这就有点困难了。
    ; c% p  w" \( L2 y
    0 f+ F7 t1 q0 c- a. p3 ?这样做时,你需要对每一层边界在系数矩阵的相应位置处,都按照边界处的对应关系进行相应处理。2 D7 I7 @& \1 {. X7 K
    , T2 {' T0 X  @. V; T/ M
    这需要你对差分方法有着很好的理解,如果我提供的代码你无法完全看懂,建议就不要考虑了。( m3 I2 ]5 G& l

    % T: }. e: x( b% I4 P& E关于边界条件* h0 `( ^& [# V0 ?$ F' i7 ?
    / o( D: N8 V+ z/ G
    构造的差分格式是保证解满足对应的方程,但其实满足给定方程的解有无穷多种。
    - n1 y) i4 U8 `9 s) T0 B- H- |4 }. G9 r# n( Q$ _
    而边界条件的作用其实就是找出你想要的那个解。
    8 ?, `, m; `% X
    ; h& D$ N2 W4 [. a  P( ?/ N5 H之前文章中给出的算例包含的边界条件是:
    ' A( m) y8 A# ~4 C
    $ o# T# Z, V9 Q# @7 ^' w, Pu(x,0)
    8 s* S7 J) A  x6 K9 A
    7 `/ |$ @! e: zu(0,t) 和 u(1,t)2 z% k7 g5 t- K4 A- e: G
    : C; a( c; |6 i$ ^! y; }/ ?
    在A题中右侧初始温度好像是没有的,也就是u(1,t)没有0 g+ r/ L" [3 D
    ( Q; d6 B2 {# O( I' O
    首先,你要知道的是,求解需要的边界条件并不一定非得是这几个, ^9 G/ W; f. Y: B6 c

    5 M& A* N( t" Q$ B5 ?; k" V但是少了一个边界条件,你就要想办法补上一个边界条件, 边界条件也不一定是已知函数的表达式,导数的表达式也是可以的(当然,代码是一定需要相应修改的)。1 d8 H$ r& |2 h# r
    + P9 a( a: {1 M. ?7 ?& x6 D  x
    比如没有u(1,t),你可以想办法构造 du(0,t)/dx 或 du(0,t)/dt
    * Q! H! b) E+ f( Y% h$ _8 y3 H3 f: c$ t3 w: w7 h  U, }
    这就看你如何理解原问题了,建议查阅文献,看看别人使用的是哪种边界条件,相应的对代码进行修改。当然也可以通过模型假设,将问题向你期待的边界条件上面靠。
    $ r* k* X4 j& c! M/ s--------------------- - T3 x1 z5 a& W# {% I" e
    ( O- U+ N) [# g& j2 C
    8 @) t# _" q+ C) M; O) {

    2 M% M( j4 B, N* A" }) G
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-6-14 03:57 , Processed in 0.297468 second(s), 50 queries .

    回顶部