偏微分实验报告1
N=10000;
x=a:h1:b
y=c:h2:d
m=length(x);
n=length(y);
ee=;
[Y,X]=meshgrid(y,x);
?
Z=zeros(m,n);
U=zeros(m,n);
for i=2:m-1
U(i,1)=feval(g1x,x(i));
U(i,n)=feval(g2x,x(i));
g1x=inline('0');
g2x=inline('0');
…
g1y=inline('sin(pi*y)');
g2y=inline('exp(2)*sin(pi*y)');
[X,Y,Z]=chfenmethed(f,g1x,g2x,g1y,g2y,a,b,c,d,h1,h2);
function [X,Y,Z]=chfenmethed(f,g1x,g2x,g1y,g2y,a,b,c,d,h1,h2)
2、给出所用程序代码;
function varargout=liu(varargin)
T=1;a=1;h=1/20;k=1/10;
]
f=inline('0','x','t');
fx=inline('exp(x)');
ft1=inline('exp(t)');
ft2=inline('exp(1+t)');
C=A;
UU=zeros(1,m-2);
f1=UU;
for j=2:n
tk1=*(t(j-1)+t(j));
for i=2:m-1
UU(i-1)=f0(x(i),t(j));
f1(i-1)=r/2*U(i-1,j-1)+(1-r)*U(i,j-1)+r/2*U(i+1,j-1)+k*feval(f,x(i),tk1);
实验成绩
评阅时间
评阅教师
…
》
微分方程数值解法实验课:实验三
实验题目
利用显式差分格式计算二阶双曲型方程定解问题
实验目的
掌握双曲型方程显式差分格式的建立及其求法
实验地点及时间
机房2452012年11月2日
实验内容:
利用显式差分格式计算二阶双曲型方程定解问题
^
实验习题:
用显式差分格式求解双曲型方程定解问题
end
f1(1)=f1(1)+r/2*U(1,j);
*
f1(m-2)=f1(m-2)+r/2*U(m,j);
U(2:m-1,j)=zgf(A,B,C,f1);
Z(2:m-1,j)=abs(U(2:m-1,j)-UU');
end
function x=zgf(A,B,C,f)
n=length(B);
B1=zeros(1,n-1);
实验习题
用五点差分格式求解椭圆型方程边值问题
~
该问题的精确解为
要求:1、写出数值求解格式;
2、给出所用程序代码;
function varargout=hu(varargin)
a=0;b=2;c=0;d=1;h1=1/10;h2=1/20;
f=inline('(pi^2-1)*exp(x)*sin(pi*y)','x','y');
[X,T,Z]=chfenmethed(f,fx,ft1,ft2,a,T,h,k);
function [X,T,Z]=chfenmethed(f,fx,ft1,ft2,a,T,h,k)
x=0:h:a
t=0:k:T
m=length(x);
n=length(t);
r=a*k/h^2;
!
[T,X]=meshgrid(t,x);
(feval(fx1,x(i+1))-2*feval(fx1,x(i))+feval(fx1,x(i-1))+feval(f,x(i),0)));
end
for j=1:n
U(j,1)=feval(ft1,t(j));
U(j,m)=feval(ft2,t(j));
end
—
UU=f0(X,T);
for i=2:n-1
该问题的精确解为:
要求:
1.写出数值求解格式;
2.给出所用程序代码;
function varargout=wang(varargin)
a=1;T=1;b=;h=1/5;k=1/20;
f=inline('0','x','t');
fx1=inline('exp(x)');
/
fx2=inline('exp(x)');
z=exp(x+t)
3.给出实验结果。x =
0
t =
Columns 1 through 18
0
Columns 19 through 21
z =
…
实验总结:本次实验我学会了利用显式差分格式计算二阶双曲型方程定解问题,掌握双曲型方程显式差分格式的建立及其求法,学会了其对应的Matlab语言的编写。
实验成绩
end
x1(n)=Y(n);
for i=n-1:-1:1
x1(i)=Y(i)-B1(i)*x1(i+1);
end
x=x1;
)
function z=f0(x,t)
z=exp(x+t)
3、给出实验结果。
xtz
00
:
实验总结:本次实验我学会了利用Crank-Nicolson差分格式计算抛物型方程定解问题,掌握了用Matlab为其编写程序。
Z=zeros(m,n);
U=zeros(m,n);
for i=1:m
U(i,1)=feval(fx,x(i));
end
for j=2:n
U(1,j)=feval(ft1,t(j));
U(m,j)=feval(ft2,t(j));
end
A=-r/2*ones(1,m-2);
:
B=(1+r)*ones(1,m-2);
t=0:k:T
m=length(x);
n=length(t);
s=a*k/h;
[X,T]=meshgrid(x,t);—ຫໍສະໝຸດ Z=zeros(n,m);
U=zeros(n,m);
for i=2:m-1
U(1,i)=feval(fx1,x(i));
U(2,i)=U(1,i)+k*feval(fx2,x(i))+k^2/2*(a^2/h^2*...
3、给出实验结果。
x =
0
y =
@
0
z =
………
实验总结:通过本次实验,我学会了运用五点差分法解决椭圆型方程Dirichlet边值问题,并且学会了运用Matlab进行程序的编写并且调试。
实验成绩
评阅时间
评阅教师
?
微分方程数值解法实验课:实验二
实验题目
利用Crank-Nicolson差分格式计算抛物型方程定解问题
for j=2:m-1
U(i+1,j)=s^2*U(i,j-1)+2*(1-s^2)*U(i,j)+s^2*U(i,j+1)-U(i-1,j)+k^2*feval(f,x(j),t(i));
Z(i+1,j)=abs(U(i+1,j)-f0(x(j),t(i+1)));
end
end
function z=f0(x,t)
Y=zeros(1,n);
x1=zeros(1,n);
B1(1)=C(1)/B(1);
for i=2:n-1
?
B1(i)=C(i)/(B(i)-A(i)*B1(i-1));
end
Y(1)=f(1)/B(1);
for i=2:n
Y(i)=(f(i)-A(i)*Y(i-1))/(B(i)-A(i)*B1(i-1));
青岛农业大学
微分方程数值解法实验报告
姓 名:
学 院:
专 业:
班 级:
学 号:
/
完成时间:
2012年11月4日
微分方程数值解法实验课:实验一
~
实验题目
利用五点差分格式求解椭圆型方程Dirichlet边值问题
实验目的
掌握五点差分格式的建立及其求法
实验地点及时间
机房2452012年10月23日
实验内容:
利用五点差分格式求解椭圆型方程Dirichlet边值问题
实验目的
掌握Crank-Nicolson差分格式的建立及其求法
实验地点及时间
机房1272012年10月31日
实验内容:
*
利用Crank-Nicolson差分格式计算抛物型方程定解问题
实验习题:
用Crank-Nicolson差分格式求解抛物型方程定解问题:
该问题的精确解为:
要求:
1、写出数值求解格式;
end
for j=1:n
U(1,j)=feval(g1y,y(j));
U(m,j)=feval(g2y,y(j));
end
for i=2:m-1
(
for j=2:n-1
qu=f0(x(i),y(j));
Z(i,j)=abs(qu-U(i,j));
end
end
function z=f0(x,y)
z=exp(x)*sin(pi*y)