偏微分方程实验报告
偏微分方程数值解第三次上机实验报告

偏微分方程数值解法第三次上机实验报告一、实验题目:用线性元求解下列问题的数值解:2,1,1(x,1)u(x,1)0,1x 1(1,y)1,u (1,y)0,11xx u x y u u y =--<<⎧⎪-==-<<⎨⎪-==-<<⎩ (精确到小数点后四位)二、实验过程:利用PDEToolbox 工具箱求解该偏微分方程。
分析:方程是Possion 方程形式c u au f -+=,其中c=-1,a=0,f=-2; 第一个边界条件是Dirichlet 条件,第二个边界条件是Neumann 条件。
1.在MA TLAB 命令窗口键入pdetool 并运行,打开PDEToolbox 界面;2.在Options 菜单下选择Grid 命令,显示网格,能更容易确定所绘图形的大小;3.绘出区域,选择Boundary 的Boundary Mode ,双击每个边界,设置边界相应的参数值;4.选择PDE 菜单中PDE Mode 命令,进入PDE 模式。
单击PDE 菜单中PDE Specification ….选项,设置方程类型及参数;5.选择Mesh 菜单中Initialize Mesh 命令,进行网格剖分,再选择Refine Mesh 命令,进行网格加密,如下图:三、实验结果:选择Solve 菜单中solve PDE 命令,解偏微分方程,其图形解如图:图1 图形解图2 三维图形解图3 解的等值线图和矢量场图选择Mesh菜单中的Export Mesh,得到结点xy坐标;选择Solve菜单中的Export Solution…,得到每个节点处的值,输出u,即解的数值。
四、实验总结:通过本次试验,掌握了利用Matlab中的PDE求解工具得到PDE的解的方法,并对偏微分方程的形式有了更多的掌握。
偏微分方程稳定性判断 实验报告

2
方法
前向差分法 注:用有限差分方法来求偏微分方程的近似解 ,想法是对自变量建立网格并把偏微分方程离散化 ,把连续问题 变成有限多个方程的离散化问题.若这个偏微分方程是线性的,那么它的离散方程也是线性的.
实验 2
云南财经大学实验报告
系 (院):统数学院 专 业:信息与计算科学 班 级:信计 07-1 学 号:200705001507 姓 名:邹凌波 课程名称:偏微分方程数值解法 实验时间:2010 年 5 月 24 日 指导教师:陈龙伟
云南财经大学教务处制
填表说明
1.实验名称 要用最简练的语言反映实验的内容。 2.实验目的 目的要明确,要抓住重点,可以从理论和实践两个方面考虑。在
τ
2h
程序:
附录 1
实验 内容 (算 法、
程 序、 步骤 和方 法)
function u=bjdlfc(xa,xb,ya,yb,M,N) %xa、xb 为 x 方向的起始与终止值;ya、yb 为 t 方向的起始与终止值; %M、N 分别为空间步数与时间步数. c=1;%c 为差分方程中的参数 h=(xb-xa)/M;m=M-1;n=N;%h、k 分别为空间与时间步长;k=(yb-ya)/N; k=(yb-ya)/N; sigma=c*k/(2*h);%网格比 a=diag(ones(m,1))+diag(-sigma*ones(m-1,1),1); a=a+diag(sigma*ones(m-1,1),-1);%定义矩阵 A lside=l(ya+(0:n)*k);rside=r(ya+(0:n)*k); u(:,1)=f(xa+(1:m)*h)';%初始条件 for j=1:n
偏微分方程(PDE)期末报告

K=黏性或熱傳導 假設為常數
T T T 2 2 x y
2 2 2 2 2 T T 2 v T U 2 V 2 x y
有限差分近似及其符號表示
一個偏微分方程的有限差分近似由我們所 關心的區間上的網格所構成,採取矩形網 格結構,其間距為常量。
T v T k 2T t 2 2 T T T T T U V k 2 2 t x y y x 在空間交點ij處做離散 Tij 2 2 U 2 xTij V 2 yTij k x Tij y Tij t
偏微分方程的有限差分方法:介紹
謝謝大家~
偏微分方程(PDE)期末報告
-有限差分法簡單介紹
學生:李宗諺 B97520016 河工3A 指導教授:陳正宗 終身特聘教授
傳導-擴散方程
T 2 v T k T T T x , y , t t
v v x, y, t U x, y, t i V x, y, t j
Tijn 1 Tijn t
1 1 + 2 即可求解 2
運算元
Tijn T ix, jy, nt
一些常用的有限差分運算元:
1 2 xTij Ti 1 j Ti 1 j 中心差分 2x 1 xTij Tij Ti 1 j 向後差分 x 1 x Tij Ti 1 j Tij 向前差分 x 1 2 x Tij 2 Ti 1 j 2Tij Ti 1 j x
Tij t
U 2 xTij V 2 yTij k T T
2 x ij
2 y ij
由前向歐拉法可得 1 n 1 n Tij Tij 2 n n k x2Tijn y Tij U ij 2 xTijn Vijn 2 yTijn t 由後向歐拉法可得 2 Tijn1 Tijn 2 n 1 n 1 k x2Tijn1 y Tij U ij 2 xTijn1 Vijn1 2 yTijn1 t 再將求得的運算元代入
偏微分方程数值解上机实验报告(matlab做的)

偏微分方程数值解法上机报告(一)一、实验题目:用Ritz-Galerkin 方法求解边值问题2u '',01(0)0,(1)1u x x u u ⎧-+=<<⎨==⎩的第n 次近似()n u x ,基函数()sin(),1,2,...,i x i x i n ϕπ==.二、实验目的:通过本次上机实验,理解求解初值问题的变分问题的最重要的近似解法——Ritz-Galerkin 方法,以便为学习有限元法打好基础。
此外,要熟悉用Matlab 解决数学问题的基本编程方法,提高运用计算机解决问题的能力。
三、实验代码:n=5;syms x;for i=1:np(i)=sin(i*pi*x);q(i)=-i^2*pi^2*sin(i*pi*x);endfor i=1:nb(i)=2*int(p(i),0,1);for j=1:nA(i,j)=int((-q(j)+p(j))*p(i),0,1);endendt=inv(A)*b'四、运行结果:t=2251799813685248/3059521645650671/pi281474976710656/9481460623939047/pi281474976710656/43582901062631895/pi五、总结:通过本次上机,我了解了Ritz-Galerkin 方程 n j j p f cj p i p a n i i ,...,2,1)),(,())(),((1==∑=,明白了用Ritz-Galerkin 方法解决边值问题的变分问题的基本原理,并接近一步提高自己的编程动手能力,受益匪浅。
偏微分方程数值解法上机报告(二)一、 实验题目:用线性元求下列边值问题的数值解2''2sin ,0142(0)0,'(1)0y y x x y y ππ⎧-+=<<⎪⎨⎪==⎩二、 实验目的:通过本次上机,熟悉和掌握用Galerkin 法观点出发导出的求解处置问题数值解的线性有限元法。
偏微分方程数值解实验报告

(2) u
uh H 1 、 u
uh
L2
、
max
0 x1
u - uh
2、用线性元求解下列问题的数值解:
u = -2,-1< x, y < 1, u(x,-1)= u(x,1)= 0,-1< x < 1, ux(-1, y)= 1,ux = 0,-1< y < 1.
精确到小数点后第六位,并画出解曲面。
偏微分实验

微分方程数值解实验指导(一)实验一: 二阶椭圆型方程差分格式的程序实现1. 实验内容用五点差分格式求解Poisson 方程边值问题⎩⎨⎧∂∈=∈=-=∆,),(,0,),(,:2G y x u G y x f u (1) 其中}1|||,||),{(<=y x y x D 。
(1)用正方形网格)(h k =列出相应的差分方程。
(2)对161,81,51,21=h 分别求出数值解,观察数值解的情况,分析计算结果。
(最好画出数值解的图形)注意:在区域G 的边界上为齐次Dirichlet 条件,在这类边界上不需要给出差分格式。
2. 实验目的及要求按照给定的差分格式编程实现求出数值解;结合格式的相容性和收敛性条件简单分析计算结果。
要求在实验课上算出数值结果;按要求格式写出实验报告;下次实验课前交本次实验的实验报告。
3. 实验原理与实验过程: 以下是求解问题的步骤第一步: 对求解区域作网格剖分。
按照要求得网格剖分图如下(图1为21=h 的情况,图2为51=h 的情况)-1-0.8-0.6-0.4-0.20.20.40.60.81-1-0.8-0.6-0.4-0.200.20.40.60.81区域划分示意图图1-1-0.8-0.6-0.4-0.200.20.40.60.81-1-0.8-0.6-0.4-0.200.20.40.60.81区域划分示意图图2第二步: 差分法的目的是:求边值问题的解),(y x u 在节点),(j i y x 的近似值ij u (m j n i ,...,2,1,,2,1==, )。
为此,需要构造逼近微分方程定解问题的差分格式。
采用五点差分格式,取定x 轴和y 轴方向的步长相等,即h=k ,作两族与坐标轴平行的直线:ih x i +-=1,i=0,1,…,2/h,jh y j +-=1,j=0,1,…,2/h,两族直线的交点为网点(或节点)。
位于G 内的节点为内点,位于G 的边界上的节点为界点。
偏微分方程数值实验报告及算法实现(1)

偏微分方程数值实验报告一实验题目:利用有限差分法求解.0)1(,0)1(),()()(==-=+''-u u x f x u x u 真解为)1()(22x ex u x -=-实现算法:对于两点边值问题 ,)(,)(,,d 22βα==∈=-b u a u l x f dxu (1) 其中),(b a l =f b a ),(<为],[b a l =上的连续函数,βα,为给定常数.其相应的有限差分法的算法如下:1.对求解区域做网格剖分,得到计算网格.在这里我们对区间l 均匀剖分n 段,每个剖分单元的剖分步长记为na b h -=. 2.对微分方程中的各阶导数进行差分离散,得到差分方程.运用的离散方法有:方法一:用待定系数和泰勒展开进行离散)()()()(d )(d 111122++--++≈i i i i i i i i x u x u x u x x u ααα 方法二:利用差商逼近导数21122)()(2)()(d )(d h x u x u x u x x u i i i i i -++-≈ (2) 将(2)带入(1)可以得到)()()()(2)(211u R x f hx u x u x u i i i i i +=+---+, 其中)(u R i 为无穷小量,这时我们丢弃)(u R i ,则有在i x 处满足的计算公式:1,...,1)()()(2)(211-==+---+n i x f hx u x u x u i i i i , (3) 3.根据边界条件,进行边界处理.由(1)可得βα==n u u ,0 (4)称(3)(4)为逼近(1)的差分方程,并称相应的数值解向量1-n U 为差分解,i u 为)(i x u 的近似值.4.最后求解线性代数方程组,得到数值解向量1-n U .程序代码:第一步:编写有限差分格式相关函数function [ x,U ]=FDld_bvp(N,f,a,b,u)%******************************************************************** %% FD1d_bvp利用中心差分格式求解两点边值问题%参数:% 输入参数:% 整数N,网格节点数,% 函数f(x),计算右端函数f(x);% a,计算区间左端点% b,计算区间右端点% u,真解函数% 输出参数:% 差分解向量U% 均匀剖分区间[a,b],得到网格x(i)=a+(i-1)*(b-a)/(N-1)h=(b-a)/(N-1);x=(a:h:b)';% 创建线性差分方程组系数矩阵c1=-1/h/h;c2=2/h/h+1;g=[c1*ones(1,N-2),0];c=[0,c1*ones(1,N-2)];d=[1,c2*ones(1,N-2),1];A=diag(g,-1)+diag(d)+diag(c,1);% 创建线性差分方程组右端项rhs=f(x);rhs(1)=u(x(1));rhs(N)=u(x(N));% 求解上述代数系统U=A\rhs;endfunction[e0,e1,emax]=FD1d_error(x,U,u_exact)%% FD1d_ERROR 计算有限差分误差% 参数:% 输入参数:% x,网格节点坐标向量% U,网格节点坐标向量上的有限差分数值解向量Ux% u_exact,真解函数% 输出参数:% e0% e1% emaxN=length(x);h=(x(end)-x(1))/(N-1);ue=u_exact(x);%真解在网格点处的值xee=ue-U;e0=h*sum(ee.^2);e1=sum((ee(2:end)-ee(1:end-1)).^2)/h;e1=e1+e0;e0=sqrt(e0);e1=sqrt(e1);emax=max(abs(ue-U));endfunction FD1d_bvp_test%%测试脚本% 初始化相关数据N=[6,11,21,41,81];L=-1;R=1;emax=zeros(5,1);e0=zeros(5,1);e1=zeros(5,1);%%求解并计算误差for i = 1:5[x,U] =FD1d_bvp(N(i),@f ,L,R,@u);[e0(i),e1(i),emax(i)]=FD1d_error(x,U,@u);X{i}=x;UN{i}=U;endue=u(X{5});%% 显示真阶及不同网格剖分下的数值解plot(X{5},ue,'-k*',X{1},UN{1},'-ro',X{2},...UN{2},'-gs',X{3},UN {3},'-bd ',...X{4},UN{4},'-ch ',X{5} , UN {5},'-mx');title('The solution plot');xlabel('x');ylabel ('u');legend('exact','N=6','N =11','N=21','N =41','N =81'); %% 显示误差format shortedisp ('emax e0 e1 ');disp ([ emax , e0 , e1 ]);end第二步:编写方程的右端函数和真解分别保存为m f .和m u . function f=f(x)f=exp(-x.^2).*(4.*x.^4-15.*x.^2+5);endfunction u=u(x)u=exp(-x.^2).*(1-x.^2);end实验结果:在命令窗口输入>> FD1d_bvp_test回车可得运算结果和图像emax e0 e15.8219e-02 5.3470e-02 1.1724e-011.5919e-02 1.2802e-022.9349e-023.9305e-03 3.1663e-03 7.3357e-039.7959e-04 7.8946e-04 1.8338e-032.4471e-04 1.9723e-04 4.5844e-04。
偏微分中心差分格式实验报告

偏微分中心差分格式实验报告实验目的:1.掌握偏微分的中心差分格式;2.理解中心差分格式的精度和稳定性。
实验原理:中心差分是一种常用的数值求解偏微分方程的格式,其基本思想是用函数在两个点的导数的平均值来近似函数在这两个点中间的导数值。
具体来说,对于一维的偏微分方程,中心差分格式可以表述为:f'(x)=(f(x+h)-f(x-h))/(2h)其中f'(x)表示x点处的导数,h表示步长。
实验步骤:1.编写一个计算函数在任意给定点x处的导数值的中心差分程序;2.给定一个函数f(x),例如f(x)=x^2,计算在一定范围内的该函数在每个点处的导数值;3.比较计算的导数值与理论值的差异,并分析中心差分格式的精度;4.对给定步长h,逐渐减小h,计算导数值,并观察数值的变化,分析中心差分格式的稳定性。
实验结果与分析:以函数f(x)=x^2为例,给定步长h=0.1,计算在范围[-1,1]内的函数f(x)在每个点处的导数值。
实验结果如下表所示:x,f'(x),理论值,误差-1.0,-1.999,-2,0.001 -0.9,-1.899,-1.8,0.099 -0.8,-1.698,-1.6,0.098 -0.7,-1.397,-1.4,0.003 -0.6,-0.996,-1,0.004 -0.5,-0.495,-0.5,0.005 -0.4,0.204,0,0.204-0.3,0.615,0.6,0.015 -0.2,1.216,1.2,0.016 -0.1,1.797,1.8,0.003 0.0,1.996,2,0.0040.1,2.193,2.2,0.007 0.2,2.792,2.8,0.008 0.3,3.293,3.3,0.007 0.4,3.594,3.6,0.006 0.5,3.896,3.9,0.004 0.6,4.437,4.4,0.037 0.7,4.998,5,0.0020.9,6.795,6.8,0.0051.0,7.993,8,0.007从实验结果可以看出,随着x的增大,计算的导数值与理论值之间的误差也在增大,但整体上相对较小。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
un=[un Un1];
end
un=[0 un 0]
e=abs(u-Un)
Un=un;
end
5、实验数据记录与分析
e =
0 0 0 0 0 0 0 0 0 0 0
u =
Columns 1 through 8
0 0.2941 0.5595 0.7701 0.9053 0.9518 0.9053 0.7701
1.0e-003 *
Columns 1 through 8
0 0.2451 0.4663 0.6418 0.7545 0.7933 0.7545 0.6418
Columns 9 through 11
0.4663 0.2451 0.0000
u =
Columns 1 through 8
0 0.2800 0.5325 0.7330 0.8617 0.9060 0.8617 0.7330
3、实验内容
一、问题提出
一根长为L的均匀导热细杆,侧面绝热,内部无热源。其热传导系数为k,比热为c,线密度为ρ。求细杆内温度变化的规律。
二、模型建立
设杆长方向为x轴,考虑杆上从x到x+△x的一段。
其质量为△m=ρ△x,热容量为c△m。设杆中的热流沿x轴正向,热流强度为q(x,t),热量为Q(x,t),温度分布为u(x,t)。
(2)Matlab程序如下:
%古典显格式
clc;
x0=0:0.1:1
t=0:0.005:0.1;
n=length(t)
Un=sin(pi*x0)
fori=1:n
un=[];
u=[];
forr=1:11
u1=exp(-pi^2*t(i))*sin(pi*x0(r));
u=[u u1];
end
u
forj=2:10
Columns 9 through 11
0.5595 0.2941 0.0000
un =
Columns 1 through 8
0 0.2795 0.5317 0.7318 0.8602 0.9045 0.8602 0.7318
Columns 9 through 11
0.5317 0.2的差分格式
实验时间
2014年5月15日
2014年5月29日
2014年6月12日
学生姓名
实验地点
9#405数学实验室
1、实验所用软件
WIN7操作系统、Matlab
2、实验目的
1、了解抛物型方程的经典差分格式,格式稳定的条件;
2、掌握常系数扩散方程初边值问题的加权隐式格式的求解方法;
3、培养编程与上机调试能力。
△x内细杆吸收热量的来源只有热传导(无热源)。
由热传导的Fourier定律,有
(1)
由能量守恒定律,在△t内细杆[x,x+△x]上的能量有
即
于是有
(2)
结合(1)和(2)得
(3)
其中
4、实验方法、步骤
(1)使用古典显格式:
其 (k和h分别为时间与空间方向的步长,取k=0.005,h=0.1使得 )取 L=1,细杆各处的初始温度为 ,两端截面上的温度为0。
Columns 9 through 11
0.5325 0.2800 0.0000
6、实验结论
指导教师评语和成绩评定
指导教师签字:
年 月 日