QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1859|回复: 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题的简单指导
    + l) Q1 b) S. l# h) E1 Z; z8 s2 d- a
    之前写过一篇博客,介绍如何使用差分格式求解热传导方程
    % C4 ], A) t* g- X  t& D& ^
    & [  \( e5 p; r2 h, o3 y! X今天打开博客,突然发现评论区被这篇文章霸屏了
    $ O) F" {) p0 }
    # C8 J" T$ J1 h7 F/ d
    % |8 {! U( K' s$ O6 X3 P3 m. e1 p) x# G3 s8 r4 n
    询问实验室的小伙伴才知,原来是被可爱的建模学子们攻占了
    : S; o% R5 m( d0 ], _8 W9 K0 q! X
    0 u- P& L/ b( U+ G5 M经过简单的了解,发现今年建模的A题的核心就是求解一个热传导方程,因此之前所写文章的程序基本可以算是神助攻了,完全可以帮助大家构建解题程序的基本框架。
    5 t  ^* y+ j( h; i/ O  H# r% R" w6 G% y
    但是!
    5 P: ?8 F* F! r
    ; j; i( U/ d5 h  d6 e9 Y& `数学建模比赛考验的就是大家的学习能力以及解决问题的能力,我只提供简要思路,不要做伸手党直接找我要代码,不要问我怎么写,请对得起你将来获得的一等奖。
    , K) t) e* [/ K& i6 I$ \4 B3 n
    2 O) `# J& p) W$ {8 f再有就是,你要先确保你能看懂我已经提供的源代码,否则下面我提供的思路你可能看了也白看。
    8 y2 ]- |8 O, K; b" E
    ! H$ W: Z$ R% v0 y  T这里统一对大家的问题做一个回答:  z: _, X+ L* U. ~8 ]$ B' q! u
    - g6 N0 B. [5 K4 Q$ `2 _. O
    本题适用差分解法吗?9 Q6 @  _4 l" {* a
    4 K5 u' i. g* ^$ M4 ]! Y) h# p
    求解偏微分方程的方法中,差分方法 和 有限元 是两类最主流的方法。
    5 l2 J7 X9 S7 C6 }& {- G! A9 T; r4 L9 G( U: |8 ^, O4 Q, L
    差分方法的优点是原理简单,但是只能求解规则区域的数值解。; i6 ~. W+ z7 y( B% C3 ~& X
    ( e( s$ o2 U5 a0 c: }
    有限元背后的理论相对难很多,但能够求解不规则区域问题。
    / @. Z5 }" ^! t) W
    & v$ C' W: @+ {本题适用哪种方法解答取决于你的模型假设
    . [' h/ F+ R2 d! b$ c4 d
    $ h" @  ]% k5 @3 r# ?6 T本题中涉及多种介质的热传导的求解,我的建议是,如果不想给自己找麻烦的话,将每种介质层假设成规则的矩形。
    # E$ Y( \( ]  h1 N% A" ?" t: b( b. q- t# o. ?
    既然带求解区域是矩形了,那么本题使用差分方法来求解更加合适,关于差分方法,你可以随便找一本介绍偏微分方程数值解的书,都有介绍。4 a" H: V' i: M" ^- [2 n2 p
    0 j- O9 _+ b! `% O) p
    当然,你如果将模型假设定义为更符合实际的不规则问题,能做出来当然是亮点,但切记不要搬起石头砸自己的脚,毕竟建模时间紧任务重。& J0 `. W( X. ?5 R& x6 O( e4 w; m

    4 M' d# q: y  m2 `" y是否适用于多层壁热传导?! M, C+ y! \) ~6 n! d

    & O, \2 o2 w- C6 m& s) F% _评论区有人问,是否适用于多层壁热传导吗?
    ) e) y4 b; B! |5 L
    " X& R! s2 |: P其实就是问这个程序能否求解A题嘛,O(∩_∩)O哈哈~
    8 ?- T2 N: W! I+ D; U" s/ }
    $ x# h  D* R0 g( w4 z答案当然是能,但显然不能直接拿来用,给几点提示。
    : V0 @9 B, S7 `  C/ `  T4 D, g' p& S- T; ~
    思路1:. H. s/ E+ \. m" k  W
    * x4 y) E: y7 N+ z; H* _7 Z
    你单拿出其中一层来求解,和我提供的算例已经没有本质区别了。
    , l+ G4 r# S+ s) c
    : f  m' [' b1 y' V1 k因此,你可以一层一层的求解。先求第一层的数值解,第一层的结果一有,第二层的边界条件也就有了,于是第二层也可以求了。
    4 T* \" T# a( |1 T; J4 \! V+ r5 l5 |+ o0 @5 {( H  u
    这样做的潜在问题是,第一层中求解的误差,必定会传递到第二层去,数学上可能不太完美,但是好理解,代码改动也少。' x, o7 g! |9 O5 b

    ! b8 Y' }$ X* \# G; W思路2:
    ! q& g2 a% V# j# y
    ( v8 d) w# h: V' ~3 _2 I我认为数学上更好的方式肯定是整体一起求解,但这就有点困难了。& _" x0 c  _5 I" z$ c. N2 s5 n3 J

    $ |+ t9 A0 M; ?; k) o这样做时,你需要对每一层边界在系数矩阵的相应位置处,都按照边界处的对应关系进行相应处理。
    4 q: Q  y! H1 ]# |# Z
    4 l$ i& O# X/ A# N6 S这需要你对差分方法有着很好的理解,如果我提供的代码你无法完全看懂,建议就不要考虑了。# ~0 c* H2 {9 Y& o

    * N) P6 b# u2 Q6 f7 V# q5 a7 l关于边界条件
    - |3 q/ a; V6 \1 k9 o  U! ^; ?. K: t( z4 u, H
    构造的差分格式是保证解满足对应的方程,但其实满足给定方程的解有无穷多种。  a6 q8 E# J; @3 G
    5 a9 M/ S# {4 R3 q/ k; [! w
    而边界条件的作用其实就是找出你想要的那个解。
    4 Q5 ~1 N' l2 T- c7 V4 h5 w' t
    之前文章中给出的算例包含的边界条件是:: S8 u0 Z$ }' s, h# n0 d

    ; z+ J# |2 E% x; w! \" ~' Ou(x,0)
    # \: v3 [7 ^8 r# G9 D% {- \5 g( h. I$ ]) D+ j* p; E! J
    u(0,t) 和 u(1,t)
    $ J+ u! J9 |4 e
    - f% _  C- E4 j) t5 k4 J. |) ]6 t在A题中右侧初始温度好像是没有的,也就是u(1,t)没有$ u9 j) Q6 o2 l. J1 l3 D

    $ W( L8 c0 g+ ?3 l* b7 {7 s3 W首先,你要知道的是,求解需要的边界条件并不一定非得是这几个5 Z# o1 @% V( r. e- Q8 [" }
    ) N. U( S9 I; r/ o. d( s% L4 V- w
    但是少了一个边界条件,你就要想办法补上一个边界条件, 边界条件也不一定是已知函数的表达式,导数的表达式也是可以的(当然,代码是一定需要相应修改的)。$ E5 D9 W$ s6 A4 B; l& t* g

    : U, E1 K7 a% {6 ^9 i9 N. d比如没有u(1,t),你可以想办法构造 du(0,t)/dx 或 du(0,t)/dt( D( E# X5 q* p  c) C
    ' f7 w% s' z$ O0 U; L1 ]
    这就看你如何理解原问题了,建议查阅文献,看看别人使用的是哪种边界条件,相应的对代码进行修改。当然也可以通过模型假设,将问题向你期待的边界条件上面靠。
    " {+ |  W! q8 L1 c( o. l  I--------------------- * i+ m7 G5 w' i+ L7 ^
    # I" g% H7 j0 @8 ^. A/ Y3 R
    : D, j' h' v8 [) {! Z2 W1 R1 r

    $ P( P* B$ _- {% [% K; }, e. Y% b
    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-12 14:11 , Processed in 0.533450 second(s), 51 queries .

    回顶部