bhy521 发表于 2006-11-21 17:40

请高手指教这个问题

求解正方形区域 {(x,y)|-1=<x,y<=1}上的波方程
                         d^2u/dt^2=⊿u
                           
               
初始条件为 ,u(0)=arctan(cos( ∏ x)),du(0)/dt=3sin(∏ x)exp(cos(∏ y)),边界条件为在 x=1和x=-1上满足Dirichlet条件u=0, ,在y=1和y=-1上满足Neumann条件 du/dn=0。
    解这里是双曲型方程,其中c=1,a=0,f=0,d=1 。编写程序如下:
%(1)问题定义
g='squareg';      %定义正方形区域
b='squareb3';       %定义边界
c=1;a=0;f=0;d=1;
%(2)产生初始的三角形网格
=initmesh(g);
%(3)定义初始条件
x=p(1,:)';y=p(2,:)';
u0=atan(cos(pi*x));
ut0=3*sin(pi*x).*exp(cos(pi*y));
%(4)在时间段为0到5的31个点上求解
n=31;
tlist=linspace(0,5,n);
uu=hyperbolic(u0,ut0,tlist,b,p,e,t,c,a,f,d);
%(5)动画图示结果
for j=1:n
   pdesurf(p,t,uu(:,j));
   mv(j)=getframe;
end
movie(mv,10)

上面的大致过程我清楚了,只是不知道为什么要用g='squareg'是不是'squareg'就代表
了{(x,y)|-1=<x,y<=1}。我现有几个问题:请高手给与解答
1如区域变了给怎么输入,如区域为{2=<x<=8,-2=<y<=10}

2若边界条件变了不是u=0,和du/dt=0了,改为 u=3t和du/dt=5t该怎么输入呢?

3若波动方程改为d^2u/dt^2=d^2u/dx^2没有了变量y,区域为0=<x<=100.边界条件
也不是标准的等于零的,而是关于t的一个函数。该怎么做呢?请教高手指教
以上的数和函数是我自己给的可能不对我的意思是只要边界条件不让他等于零
就行。             请问谁能给我推荐这方面的书呢   
   谢谢!!!
页: [1]
查看完整版本: 请高手指教这个问题