QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2010|回复: 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题的简单指导$ S: R9 n  j7 O) U, i

    * p' E% g- K8 W9 P- H8 t之前写过一篇博客,介绍如何使用差分格式求解热传导方程
      o2 S# ~& m* |; s3 U/ `
    / o' M( L8 s! T0 K/ N1 t今天打开博客,突然发现评论区被这篇文章霸屏了
    ' B& \. D* `; ]5 F, j" P% G: ]- e; ]; j* D
    1 n8 Q: h$ ~2 _) |! K2 ]$ q9 r

    " q( |9 S8 x, N! K. I2 {询问实验室的小伙伴才知,原来是被可爱的建模学子们攻占了: i2 ]2 h2 t. W( r8 E. c: g

    0 C& a# L" c. O8 i2 S; E: r经过简单的了解,发现今年建模的A题的核心就是求解一个热传导方程,因此之前所写文章的程序基本可以算是神助攻了,完全可以帮助大家构建解题程序的基本框架。
    : g  ~" K4 R$ w& a
    1 w4 v: ?4 s! z* y: z1 p. ?但是!- t9 u2 {+ E% U: [6 q1 z. F( M  w
    3 u# p' r2 i  W. l$ y' X- R
    数学建模比赛考验的就是大家的学习能力以及解决问题的能力,我只提供简要思路,不要做伸手党直接找我要代码,不要问我怎么写,请对得起你将来获得的一等奖。! b: K. r" p0 u8 J
    + ?& {3 s' `1 I- W
    再有就是,你要先确保你能看懂我已经提供的源代码,否则下面我提供的思路你可能看了也白看。
    3 k  D' [9 W! A3 z  f9 i! R7 d/ L: X: \6 s$ J5 [
    这里统一对大家的问题做一个回答:
    2 B# E6 n" I# h% N, S" b7 x8 a, F0 K9 p
    本题适用差分解法吗?% U+ |; r$ z" L
    + e' L: P) g* A+ u
    求解偏微分方程的方法中,差分方法 和 有限元 是两类最主流的方法。
    ( w1 x/ v( v! a4 l" k7 E" t1 V
    6 Y, p" D8 x7 Q: T差分方法的优点是原理简单,但是只能求解规则区域的数值解。; f4 ^; @) R" G+ O! W  L

    / P' z6 w& Z9 p4 @; z有限元背后的理论相对难很多,但能够求解不规则区域问题。
    1 }. [- Q1 U4 V( }7 b9 j4 q% f& T# N1 x) V
    本题适用哪种方法解答取决于你的模型假设. A+ d7 P0 F. }; E+ A
    6 _" G  M0 p" U9 S9 q1 x* w2 X
    本题中涉及多种介质的热传导的求解,我的建议是,如果不想给自己找麻烦的话,将每种介质层假设成规则的矩形。
    ; C7 V3 r: Q, _8 X0 g& y( q: X( j8 q8 b7 [
    既然带求解区域是矩形了,那么本题使用差分方法来求解更加合适,关于差分方法,你可以随便找一本介绍偏微分方程数值解的书,都有介绍。0 Z. F- g! f" u8 H: m2 S' T  K& g
    3 N; P* H+ t1 }" J) h
    当然,你如果将模型假设定义为更符合实际的不规则问题,能做出来当然是亮点,但切记不要搬起石头砸自己的脚,毕竟建模时间紧任务重。
    2 o: @/ ^6 _6 X/ P8 ^
    . b2 l7 p/ J1 p8 Z/ W是否适用于多层壁热传导?
    % t0 s& |; |4 {( N4 I5 G) V$ V# B0 p( H. c* G! {( \- [5 Q
    评论区有人问,是否适用于多层壁热传导吗?% K7 D4 I7 |2 u
    8 B- b( F7 \1 N, y
    其实就是问这个程序能否求解A题嘛,O(∩_∩)O哈哈~/ ~  Y9 Z1 d3 z; W
    ! e8 ]3 E4 K' l, e, S) G3 m
    答案当然是能,但显然不能直接拿来用,给几点提示。. Z& |* E" F4 L
    ; i0 d( J+ S! d7 p- K  T
    思路1:5 {2 Z4 G, G- Z4 ~5 U4 E: Z3 y

    7 F7 h+ U* A) G5 w; X0 x# S5 @( z你单拿出其中一层来求解,和我提供的算例已经没有本质区别了。
    / e0 H2 ?2 U' G. b5 C. e- l# r" I" I! |: K3 D1 L$ w
    因此,你可以一层一层的求解。先求第一层的数值解,第一层的结果一有,第二层的边界条件也就有了,于是第二层也可以求了。
    ) P: ^* e; [/ m& `2 A* a" T9 h' M
    9 z# S% t( X" P+ t2 b  f  d! X这样做的潜在问题是,第一层中求解的误差,必定会传递到第二层去,数学上可能不太完美,但是好理解,代码改动也少。" n; s) z- ?' x1 W5 L

    - X0 I& {# ~5 I思路2:9 j; D" i' }% }8 H) {
    3 x6 _* c4 s) |4 e
    我认为数学上更好的方式肯定是整体一起求解,但这就有点困难了。5 {; g% ]# w( V. W; ?0 E' c$ A

    & |  b* q" B( }' `这样做时,你需要对每一层边界在系数矩阵的相应位置处,都按照边界处的对应关系进行相应处理。
    ) V$ l1 m2 q8 ?8 g* T. R2 F2 E% n' D( ]+ o
    这需要你对差分方法有着很好的理解,如果我提供的代码你无法完全看懂,建议就不要考虑了。
    : {& F  l% y& \- C1 o* u1 x* w
    . ?7 [( M4 j& C2 P2 \0 ~& v) }. B关于边界条件; c8 w& ^& z8 {+ X1 {
    9 I$ }5 ]( a; S3 T
    构造的差分格式是保证解满足对应的方程,但其实满足给定方程的解有无穷多种。
    6 }4 R) Q- v" s( E5 _. Y  D) o5 ?6 |3 Z7 j% U- y
    而边界条件的作用其实就是找出你想要的那个解。
    ( g) F! g) P' w1 {: F
    # L: |/ u  y$ E" s之前文章中给出的算例包含的边界条件是:. r  e1 v5 y6 p) x' i

    # M8 |* O: X: \( m7 O9 Cu(x,0)9 n3 ^5 i7 O) ?$ D
    6 q  j  q3 X5 I
    u(0,t) 和 u(1,t), q  }8 t+ n2 Y' N* K( _9 B  g" s

    * u9 E0 x9 j# g. R在A题中右侧初始温度好像是没有的,也就是u(1,t)没有
    ! S7 Z) K6 D. z; y/ c  a3 n* J% W3 i/ g# Y$ T
    首先,你要知道的是,求解需要的边界条件并不一定非得是这几个5 Y; c! E* `5 ^$ L9 k/ j$ c/ p( E
    # y8 o4 ~. g+ r% M5 |/ r# ?
    但是少了一个边界条件,你就要想办法补上一个边界条件, 边界条件也不一定是已知函数的表达式,导数的表达式也是可以的(当然,代码是一定需要相应修改的)。, z. @  O9 h( z! n
    ( ^; ]3 o+ }' W
    比如没有u(1,t),你可以想办法构造 du(0,t)/dx 或 du(0,t)/dt
    1 S$ w. n6 Y3 t- ^# L
    3 D+ l# z  x% I0 h# p这就看你如何理解原问题了,建议查阅文献,看看别人使用的是哪种边界条件,相应的对代码进行修改。当然也可以通过模型假设,将问题向你期待的边界条件上面靠。, j9 {$ v# H, P1 [
    --------------------- 1 q1 T$ _5 l- u0 q( P+ x

    0 A7 i5 J" D  W' T2 P4 k% t4 G3 h2 O

    , H) j7 j* J% c! W* }& Q9 j
    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-8-28 01:51 , Processed in 0.478157 second(s), 50 queries .

    回顶部