QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2234|回复: 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题的简单指导
    ) o" g/ m3 |# D& R8 _/ y4 H) ~9 V9 z
    之前写过一篇博客,介绍如何使用差分格式求解热传导方程
    7 P3 Q2 {. K9 |9 Z7 a
    / P6 w# |9 M! _* ?4 A- l今天打开博客,突然发现评论区被这篇文章霸屏了
    & e# v5 N# d  V, k$ C2 ]
    / `- M6 G  Z5 D3 z9 t2 e" d4 H
    ' d# r3 F. j) @: l, u" T6 e- T0 c* f+ D" X6 b) c
    询问实验室的小伙伴才知,原来是被可爱的建模学子们攻占了1 M) O! s; B2 r2 q/ I; f" P

      N9 L+ G$ S2 D6 Y8 j经过简单的了解,发现今年建模的A题的核心就是求解一个热传导方程,因此之前所写文章的程序基本可以算是神助攻了,完全可以帮助大家构建解题程序的基本框架。* a7 i" {( f( ^0 {# _* w! P

    , I4 j! [9 g4 H! p( d- T0 l但是!+ ^5 s, ?! @4 T' m1 b. v
    $ B2 b7 \, {, P, f( H5 _, f
    数学建模比赛考验的就是大家的学习能力以及解决问题的能力,我只提供简要思路,不要做伸手党直接找我要代码,不要问我怎么写,请对得起你将来获得的一等奖。7 i! E. X/ }( A1 @) ]

    / `5 y- @7 z/ q3 |, d% m9 b6 Y再有就是,你要先确保你能看懂我已经提供的源代码,否则下面我提供的思路你可能看了也白看。
    # @6 E' l3 o2 ~3 \+ S$ \) c1 i/ j) K* J1 Y$ @& x
    这里统一对大家的问题做一个回答:5 s  h6 I5 M" n: w1 E: x

    2 @- }: O& s' x. u: W3 e. w本题适用差分解法吗?
    ( }1 {# o1 `  S; ~6 J; i5 Y1 `0 R- M& ^+ J
    求解偏微分方程的方法中,差分方法 和 有限元 是两类最主流的方法。
    5 H; F! H) t! J2 _( j5 X; M
    # S  G3 B* n, i# |  w8 K* X差分方法的优点是原理简单,但是只能求解规则区域的数值解。; p7 o" ?" [* h9 [& H# ]& f, x
    $ q: A3 N+ L5 N5 S% c! y
    有限元背后的理论相对难很多,但能够求解不规则区域问题。
    " c6 s4 ]: ^8 T' _' y2 |
    / H5 y. }. y; Z本题适用哪种方法解答取决于你的模型假设
    % h' J. B+ f7 s0 S. Z5 P9 ]! y* B. i- _9 Y. I4 _: q2 z; H9 Y
    本题中涉及多种介质的热传导的求解,我的建议是,如果不想给自己找麻烦的话,将每种介质层假设成规则的矩形。
    7 h+ b$ t" \6 x! c
    - [2 Q; Z* A& H8 }& V* S( p1 r: s既然带求解区域是矩形了,那么本题使用差分方法来求解更加合适,关于差分方法,你可以随便找一本介绍偏微分方程数值解的书,都有介绍。
    6 \( |. Y8 c; J9 j8 I
    - q. V2 J2 v) _- v* @, I当然,你如果将模型假设定义为更符合实际的不规则问题,能做出来当然是亮点,但切记不要搬起石头砸自己的脚,毕竟建模时间紧任务重。
    2 G6 Q5 _5 e2 F+ l* G. D/ \; k
    # t7 `" e; Y( T9 m7 D8 s是否适用于多层壁热传导?
    - w$ ?7 v+ p  w. i. `( t
    * u; }# k" P2 a2 d. n8 o0 l评论区有人问,是否适用于多层壁热传导吗?6 Y* P8 d! R4 Z# A- N

    5 i' K* D" y/ k. F6 x其实就是问这个程序能否求解A题嘛,O(∩_∩)O哈哈~# h8 S& j) {7 {- F" c1 z
    8 D0 U* P+ |4 b9 X
    答案当然是能,但显然不能直接拿来用,给几点提示。
    2 ~% l- S6 c8 b. n! s5 h) s1 @( G! y# a- {) ~+ p+ c
    思路1:
    + A2 E9 B9 Y; b, ~; I
    5 s0 g, \( m, B$ s1 f2 P3 J) F你单拿出其中一层来求解,和我提供的算例已经没有本质区别了。7 _: O8 y; t# V/ ~7 x7 w
    - r2 R1 Q" @) T$ A8 B
    因此,你可以一层一层的求解。先求第一层的数值解,第一层的结果一有,第二层的边界条件也就有了,于是第二层也可以求了。. J" g5 H, y8 L
    $ [/ k, l9 \' H1 c! y& f
    这样做的潜在问题是,第一层中求解的误差,必定会传递到第二层去,数学上可能不太完美,但是好理解,代码改动也少。8 F) P. `3 R. K. @
    * [8 C" m: _: a- V
    思路2:
    ( B5 t( k8 U8 Y
    6 `- i- F3 [7 ^8 H3 t1 `我认为数学上更好的方式肯定是整体一起求解,但这就有点困难了。; E& U/ D# h) x, a3 F3 G" b

    # F/ I0 p7 R, a+ h这样做时,你需要对每一层边界在系数矩阵的相应位置处,都按照边界处的对应关系进行相应处理。
    $ O' g) i9 S1 }) ~; D4 ]3 H7 x1 E0 S
    这需要你对差分方法有着很好的理解,如果我提供的代码你无法完全看懂,建议就不要考虑了。$ v7 ^8 o1 G5 A- J
    & o9 T: ]) h0 q' X! q% Q# T
    关于边界条件
    ' V! P1 E7 B8 Q* h: [% h
    " e2 v, N, u, m# Y& z构造的差分格式是保证解满足对应的方程,但其实满足给定方程的解有无穷多种。5 H2 T4 ^5 Q0 G* }! ?; C/ V0 W* u

    7 n; b- q/ X7 |& Z  b. _4 H- E$ g而边界条件的作用其实就是找出你想要的那个解。8 t6 c, v  E2 z+ G6 S

    7 z* @8 @. d, _5 f7 ~; ?/ n5 G" e, m9 C* y之前文章中给出的算例包含的边界条件是:" ^/ A7 y. I( J. q. M6 i2 G
    ' R9 C: b( f6 w, g$ [
    u(x,0)
    8 q& o  |! V* G' K7 C7 w
    ; q% I7 m/ D: h" D& Gu(0,t) 和 u(1,t)
    ( Z& z; C8 J0 n0 u* D% h, G( M1 t, U! b. ^8 y6 c
    在A题中右侧初始温度好像是没有的,也就是u(1,t)没有
    / G3 D8 z! D! j6 t% z& o1 @  |) T# \1 B  S) _
    首先,你要知道的是,求解需要的边界条件并不一定非得是这几个* y9 X7 P: u8 u9 z

    0 M9 e% J; ], Y' M! k8 n8 b' m& n但是少了一个边界条件,你就要想办法补上一个边界条件, 边界条件也不一定是已知函数的表达式,导数的表达式也是可以的(当然,代码是一定需要相应修改的)。
    $ V3 G- p* }6 @( |# n) [$ @
    / ^% p7 B. o' [8 j比如没有u(1,t),你可以想办法构造 du(0,t)/dx 或 du(0,t)/dt
    , c2 N( @% `3 h' L. h  V% ~! Q
    8 d, N/ {$ `. Q4 ]9 R5 Q这就看你如何理解原问题了,建议查阅文献,看看别人使用的是哪种边界条件,相应的对代码进行修改。当然也可以通过模型假设,将问题向你期待的边界条件上面靠。9 X7 m! l9 M* p5 P1 F7 p$ f0 c& o
    ---------------------
    0 S, k7 |$ e6 _+ {0 K6 h2 A/ U
    , j1 d5 u4 q0 f( b. }! q* c$ t6 d
    * D# n/ ^# _. u2 _& b: s8 c( j& a" c7 Y
    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, 2026-8-2 17:48 , Processed in 0.370939 second(s), 50 queries .

    回顶部