数学建模社区-数学中国

标题: [求助]大家帮忙看看这段matlab程序 [打印本页]

作者: dudu84    时间: 2003-1-15 11:40
标题: [求助]大家帮忙看看这段matlab程序

以下是一段解偏微分方程组的程序,谁能告诉我用的是什么方法解的,我怎么查了好多资料都看不出来啊,谢谢大家了!

1 ~; v4 P+ _9 t: x* M9 \8 t" J9 r1 f & f) R U5 O1 G+ S. `6 L

%
% Programme pour leopard
%

& i+ N8 h: u- G

global d K F N

5 S7 f' n' M0 j( [& ]. B

N = 64

" G7 n) P2 L* c8 D

dx = 1/N;

! _- ]3 \2 W( i9 J3 F; s

d=10
K=0.01
F=0.1

+ `# L! o. h0 G& F3 w4 }1 q


dt=0.001;

+ L, x6 I1 p' S t) S) `, j

U=rand(N);
V=rand(N);

" l5 V9 I/ Z: b

FourU=fft2(U);
FourV=fft2(V);

; ?- D Y8 d- D" Z; v

for i=1:N,
for j=1:N,
i0=i-1;
j0=j-1;
if i0 > N/2
i0=1+N-i;
end
if j0 > N/2
j0=1+N-j;
end

FourU(i,j)=FourU(i,j)/(1+(i0*i0+j0*j0)/8);
FourV(i,j)=FourV(i,j)/(1+(i0*i0+j0*j0)/8);
end
end

$ O8 v$ u( ~% d8 {; i& Y+ p% R

U=real(ifft2(FourU));
V=real(ifft2(FourV));

5 a; @& |/ ?. n h* J

compteur=0;

: Y+ [; s2 G/ }7 q4 l( U$ K$ o9 U! L

for t=0:dt:1,

; q" f6 u/ Y5 W& M! _ \

format long
max(max(U))
max(max(V))
min(min(V))

4 F$ Q2 u7 T8 M1 H2 P U5 O/ n" ]* ~

FourU=fft2(U);
FourV=fft2(V);

w% m E/ O" j7 v

for i=1:N,
for j=1:N,
i0=i-1;
j0=j-1;
if i0 > N/2
i0=1+N-i;
end
if j0 > N/2
j0=1+N-j;
end

FourU(i,j)=FourU(i,j)*exp(-dt*(i0*i0+j0*j0)/10);
FourV(i,j)=FourV(i,j)*exp(-d*dt*(i0*i0+j0*j0)/10);
end
end

7 u) A0 R. h' m4 ^% e9 n; V

U=real(ifft2(FourU));
V=real(ifft2(FourV));

3 h" N5 w$ \6 ] H

for i=1:N,
for j=1:N,
P(i,j)=-U(i,j)*V(i,j)^2+F*(1-U(i,j));
G(i,j)=U(i,j)*V(i,j)^2-(F+K)*V(i,j);
end
end

6 B9 n" |: t, Q% s* | I+ ~

U = U + dt*P;
V = V + dt*G;

7 K2 z. n2 l7 e7 U. B. } r

for i=1:N,
for j=1:N,
W(i,j)=V(i,j);
M(i,j)=U(i,j);
end
end

6 N/ g) ~! _: [* k2 z! v! u0 [

if rem(compteur,10) == 0
clf;
if W>0.6
image(100*W-60);
else
image(100*W)
end
if M>0.6
image(100*M-60);
else
image(100*M);
end
drawnow;
end

/ @) m) u' ^7 ]/ i

compteur = compteur +1;

9 B0 s) g7 J8 l+ X( B

end
%------------------------------------------


作者: 争气的败家子    时间: 2007-9-5 21:45
MATLAB 吧 里面有rand随机数生成,有fft傅立叶算法,得等,可能不会错吧。。




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5