偏微分方程数值解实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
偏微分方程数值解实验报告
1、用有限元方法求下列边值问题的数值解:
''()112x -y +y =2sin ,0 ⎨ ⎪⎩ 其中其精确解为 2 4 x y = sin( )2 ππ ,取h=0.1 要求:(1)将精确解与用有限元得到的数值解画在同一图中 (2)1h H u u -、 2 h L u u - 、01 h x max u -u ≤≤ 2、用线性元求解下列问题的数值解: x x u(x,-1)=u(x,1)=0,-1 y <1,⎧∆⎪ ⎨⎪⎩ 精确到小数点后第六位,并画出解曲面。 3、用Crank -Nicolson 差分法求解Burger 方程 0,(0,1),(0,5),,[01]t (1).t x xx v +vv =v ,x t v(x,0)=sin2x x ;v =v ,t =0ννπ>∈∈⎧⎨ ∈(0,)⎩, 其中取1ν= 要求画出解曲面。迭代格式如下: 1221212 111111 111122142212n n n n n n j j j j j j n n n n n n j j j j j j V V V V V V h h V V V V V V h h τ ++++++++++-+-⎧⎫-()-()()-()⎪⎪++⎨⎬⎪⎪⎩⎭ ⎧⎫-+-+⎪⎪=+⎨⎬⎪⎪⎩⎭ 1、 %Ritz Galerkin方法求解方程 function u1=Ritz(x) %定义步长 h=1/100; x=0:h:1; n=1/h; a=zeros(n-1,1); b=zeros(n,1); c=zeros(n-1,1); d=zeros(n,1); %求解Ritz方法中内点系数矩阵 for i=1:1:n-1 b(i)=(1/h+h*pi*pi/12)*2; d(i)=h*pi*pi/2*sin(pi/2*(x(i)+h))/2+h*pi*pi/2*sin(pi/2*x(i+1))/2; end %右侧导数条件边界点的计算 b(n)=(1/h+h*pi*pi/12); d(n)=h*pi*pi/2*sin(pi/2*(x(i)+h))/2; for i=1:1:n-1 a(i)=-1/h+h*pi*pi/24; c(i)=-1/h+h*pi*pi/24; end %调用追赶法 u=yy(a,b,c,d) %得到数值解向量 u1=[0,u] %对分段区间做图 plot(x,u1) %得到解析解 y1=sin(pi/2*x); hold on plot(x,y1,'o') legend('数值解','解析解') function x=yy(a,b,c,d) n=length(b); q=zeros(n,1); p=zeros(n,1); q(1)=b(1); p(1)=d(1); for i=2:1:n q(i)=b(i)-a(i-1)*c(i-1)/q(i-1); p(i)=d(i)-p(i-1)*c(i-1)/q(i-1); end x(n)=p(n)/q(n); for j=n-1:-1:1 x(j)=(p(j)-a(j)*x(j+1))/q(j); end x x = Columns 1 through 11 0.0157 0.0314 0.0471 0.0628 0.0785 0.0941 0.1097 0.1253 0.1409 0.1564 0.1719 Columns 12 through 22 0.1874 0.2028 0.2181 0.2335 0.2487 0.2639 0.2790 0.2940 0.3090 0.3239 0.3387 Columns 23 through 33 0.3535 0.3681 0.3827 0.3972 0.4115 0.4258 0.4400 0.4540 0.4679 0.4818 0.4955 Columns 34 through 44 0.5091 0.5225 0.5358 0.5490 0.5621 0.5750 0.5878 0.6004 0.6129 0.6253 0.6374 Columns 45 through 55 0.6495 0.6613 0.6730 0.6846 0.6959 0.7071 0.7181 0.7290 0.7397 0.7501 0.7604 Columns 56 through 66 0.7705 0.7805 0.7902 0.7997 0.8090 0.8182 0.8271 0.8358 0.8444 0.8527 0.8608 Columns 67 through 77 0.8687 0.8763 0.8838 0.8910 0.8981 0.9049 0.9114 0.9178 0.9239 0.9298 0.9355 Columns 78 through 88 0.9409 0.9461 0.9511 0.9558 0.9603 0.9646 0.9686 0.9724 0.9759 0.9793 0.9823 Columns 89 through 99 0.9851 0.9877 0.9901 0.9921 0.9940 0.9956 0.9969 0.9981 0.9989 0.9995 0.9999 Column 100 1.0000 u = Columns 1 through 11 0.0157 0.0314 0.0471 0.0628 0.0785 0.0941 0.1097 0.1253 0.1409 0.1564 0.1719 Columns 12 through 22