记录一下数值计算课大作业

设时间t和空间x

离散:xi_{i}i​=ih , tn_{n}n​=nΔ\DeltaΔ*t (i = 0,1,…I , n = 0,1,…)
设 U(xi_{i}i​,tn_{n}n​),在该点:
对t用向前差商:∂u∂t\frac{\partial u}{\partial t}∂t∂u​ ≈\approx≈ Uin+1−UinΔt\frac{U^{n+1}_i -U^{n}_i}{\Delta t}ΔtUin+1​−Uin​​
对用中心二阶差商:∂2u∂x2\frac{\partial^2 u}{\partial x^2}∂x2∂2u​ ≈\approx≈ Ui+1n−2Uin+Ui−1nh2\frac{U^{n}_{i+1} -2U^{n}_i+U^n_{i-1}}{h^2}h2Ui+1n​−2Uin​+Ui−1n​​

代入上式,得到隐格式:
Uin+1−UinΔt\frac{U^{n+1}_i -U^{n}_i}{\Delta t}ΔtUin+1​−Uin​​ – b*Ui+1n−2Uin+Ui−1nh2\frac{U^{n}_{i+1} -2U^{n}_i+U^n_{i-1}}{h^2}h2Ui+1n​−2Uin​+Ui−1n​​ = 0

化简得:–b∗Δth2∗Ui−1n+1+(1+2b∗Δth2)∗Ui(n+1)−b∗Δth2∗Ui−1n=Uin\frac{b*{\Delta t}}{h^2} *U^{n+1}_{i-1}+(1+\frac{2b*\Delta t}{h^2})*U^{(n+1)}_i-\frac{b*\Delta t}{h^2}*U^n_{i-1}=U^n_ih2b∗Δt​∗Ui−1n+1​+(1+h22b∗Δt​)∗Ui(n+1)​−h2b∗Δt​∗Ui−1n​=Uin​

写出当n=0.时i=0,1,…I的式子,利用初值和边值条件,可得系数矩阵:

A=[1+2b∗Δth2−b∗Δth2−b∗Δth21+2b∗Δth2−b∗Δth2−b∗Δth21+2b∗Δth2....................................−b∗Δth21+2b∗Δth2]A= \begin{bmatrix} 1+\frac{2b*\Delta t}{h^2} & -\frac{b*\Delta t}{h^2} & \\ -\frac{b*\Delta t}{h^2} & 1+\frac{2b*\Delta t}{h^2} & -\frac{b*\Delta t}{h^2} \\ & -\frac{b*\Delta t}{h^2} & 1+\frac{2b*\Delta t}{h^2}\\ &... &... &...\\ &&...&...&...&\\ &&&&&\\ &&&...&...&...&\\ &&&&...&...&...&\\ &&&&&-\frac{b*\Delta t}{h^2}&1+\frac{2b*\Delta t}{h^2} \end{bmatrix} A=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡​1+h22b∗Δt​−h2b∗Δt​​−h2b∗Δt​1+h22b∗Δt​−h2b∗Δt​...​−h2b∗Δt​1+h22b∗Δt​......​.........​.........​......−h2b∗Δt​​...1+h22b∗Δt​​​⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤​

AU=C,其中:
U=(U10,U20,...UI−11)=(U^0_1,U^0_2,...U^1_{I-1})=(U10​,U20​,...UI−11​)
C=(b∗Δth2∗U01+U10,U20,...UI−20+b∗Δth2∗UI−10)=(\frac{b*\Delta t}{h^2}*U^1_0+U^0_1,U^0_2,...U^0_{I-2}+\frac{b*\Delta t}{h^2}*U^0_{I-1})=(h2b∗Δt​∗U01​+U10​,U20​,...UI−20​+h2b∗Δt​∗UI−10​)

可解出U,同理只需解出当n=1,2,…,时的U即可。
用matlab实现:

function sol = HeatExp2(h,maxt,deltat,a)  %a为方程中的系数b,可任取
I = 1/h;
N = maxt/deltat;
sol = zeros(fix(I+1),fix(N+1));
mu = a*deltat/h^2;
vetx = [0:h:1];
veti = ones(I-1,1)
vetii = ones(I-2,1)
A=sparse(diag((1+2*mu)*veti,0)-diag(vetii*mu,1)-diag(vetii*mu,-1))
[L U]=lu(A)
for i=2:ceil((I+1)/2) sol(i,1)=2*vetx(i);sol(I+2-i,1)=sol(i,1);
end
b = sol(2:I,1)
for j=2:N             u=U\(L\b);        for i=2:I   sol(i,j)= u(i-1);      endb = u;%分别画出初始、中间和最末时刻的图:            if j==2           plot([0:h:1],sol(:,j),'c')axis([0 1 0 1]);xlabel('x');ylabel('u');hold on;elseif j==N/2plot([0:h:1],sol(:,j),'r')axis([0 1 0 1]);xlabel('x');ylabel('u');hold on;   elseif j==Nplot([0:h:1],sol(:,j),'y')axis([0 1 0 1]);xlabel('x');ylabel('u');hold on;endlegend('t=0.001s','t=0.05s','t=0.1s');
end

在命令行输入:

得到结果矩阵:

得到二维图像:


画出三维图像:

figure(2)
mesh([0:h:1],[0:deltat:maxt],sol)


计算结果是合理的,因为热量逐渐扩散,至端点处消失。

隐方程求解一维抛物型方程(热传导方程)相关推荐

  1. 一维抛物型方程的差分解法

    一维抛物型方程的差分解法 问题内容 算法求解 显格式(explicit scheme)求解 隐格式(implicit scheme)求解 Crank_Nicolsm格式求解 实验结果 三格式的迭代求解 ...

  2. 傅里叶谱方法-傅里叶谱方法求解一维 KdV 方程及其Matlab程序实现

    3.3 傅里叶谱方法求解复杂偏微分方程 (组) 3.3.1 一维 KdV 方程 背景介绍 科特韦赫-德弗里斯方程(英语:Korteweg-De Vries equation),一般简称KdV方程,是1 ...

  3. 深度学习求解一维burgers方程和Galerkin求解泊松方程

    一维burgers方程介绍 { u t + u u x − ( 0.01 / π ) u x x

  4. 打靶法c语言程序,打靶法求解一维Schrodinger方程程序示例

    流程图 # include # include # defineh 10 floatksqu(float x,float e) {float k=0.1,m=0.01,ksq,v; v=k*(x-1) ...

  5. 【组合数学】递推方程 ( 常系数线性非齐次递推方程求解 | 递推方程标准型及通解 | 递推方程通解证明 )

    文章目录 一.递推方程标准型及通解 二.递推方程通解证明 一.递推方程标准型及通解 H(n)−a1H(n−1)−⋯−akH(n−k)=f(n)H(n) - a_1H(n-1) - \cdots - a ...

  6. 抛物型方程的差分解法matlab,抛物型方程的差分解法

    ? 0 时 2 为前差方程,当 ? ?1 时为后差方程.用控制体积法构造差分 方程总是守恒型差分方程. (4) 积分方法采用积分方法构造差分方程基本思想是把微分...... 第7卷第4期2008年12 ...

  7. 有限元方法求解一维扩散方程(FEALPy)

    有限元方法求解一维扩散方程 文章目录 有限元方法求解一维扩散方程 有限元方法推导 差分格式的介入 数值算例 之前完成了 FEALPy 有限元求解 Poisson 方程 的数值算例, 通过 湘潭大学王唯 ...

  8. matlab riccati 方程,matlab解riccati方程

    Riccati 方程求解 ? ? 前三个问题将介绍解析解与数值解,后一 个属于非... 矩阵的化零空间或基础解系计算,支持符号运算 求解连续 Lyapunov 方程.Sylvester 方程的数值解 ...

  9. matlab将求解sin隐式解,Matlab隐式符号方程求解和赋值

    近日处理了一个隐式方程的求解,由于方程含有较多的未知数,而且这些参数均是跟实验相关的一些参数,所以,必须得到需要求解的解与 这些参数之间的一个表达式.之前是考虑用的Maple推导求解了该隐私方程,求解 ...

最新文章

  1. pandas使用sum函数计算dataframe单数据列的加和或者对所有的数据列进行求和(sum column or all columns of dataframe)
  2. 【捣鼓】移动硬盘装Ubuntu系统
  3. Netty HTTP on Android
  4. SHOI2016 黑暗前的幻想乡
  5. html5 js保存token,vue生成token并保存到本地存储中
  6. 页面文字请使用css进行控制,css控制页面文字不能被选中user-select:none;
  7. 如何清理qt源码_Qt+FFmpeg本地录制音频
  8. 读 利用python进行数据分析 后感
  9. android targetapi版本低,Android应用开发之Android @TargetAPI版本兼容性解析
  10. Windows 7,无法访问internet,DNS无响应
  11. 浏览器接收响应消息并显示内容
  12. win10+opencv+VS2015安装教程
  13. cad剖切线的快捷键_Auto CAD2017剖切符号快捷键是什么呢?
  14. 如何1分钟实现身份实名认证功能?
  15. 【VUE】vue+vue-cropper实现上传剪裁图片
  16. 【CAT魔改】CAT-LOCAL项目的诞生
  17. 基于osp平台和Echarts的折线图案例
  18. 小米手机升级MIUI11后,要记得关闭这4个按钮,不然电池就会不耐用
  19. Problem 2128 最长子串(kmp+strstr好题经典)
  20. Delphi字符串转换成代码

热门文章

  1. matlab中文件的复制
  2. RFID固定资产-基于RFID技术在企业固定资产管理系统中的应用—铨顺宏
  3. 寻找二叉树中两个结点的最近公共祖先
  4. Unity中的Shuriken粒子系统(4)
  5. xadmin2.0 下载和安装
  6. SXOI2017游记
  7. AFPM100消防设备电源监控系统在东北大学浑南校区能源动力中心中的应用
  8. 自考02326操作系统202008答案(自己批改的)
  9. 博客园9月份第4周51Aspx源码发布详情
  10. Appstore搜索“服务赚钱”排名前十的应用