数学建模社区-数学中国

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

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

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

) K9 G _3 S' L! ~2 L) y, q* T9 F 5 x" N' |/ n: l& m" ?# Q4 r

%
% Programme pour leopard
%

* h+ ^+ m3 D) H- g! G' L

global d K F N

/ W+ @5 t9 c7 X o$ a) n; k3 v

N = 64

3 K% v, T1 C$ W `+ j; w6 s1 b E

dx = 1/N;

2 H/ W' ~+ H& _" o9 `0 L. Z3 g

d=10
K=0.01
F=0.1

# k3 S( P: Q' a/ d0 a7 m; Q( W$ q


dt=0.001;

, j$ ^6 L. P% ] }# c

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

, Z" x# K0 k s. ]6 L

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

& E/ g* p( a8 f; ]0 n, E3 P

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

# g4 g1 V1 r% v3 M. ]! {) `

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

7 L. Z U! j& l6 Q

compteur=0;

4 N) W8 _0 T+ F [

for t=0:dt:1,

- x% z; g/ a$ p/ I. v" h" F1 G

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

8 O$ J4 g8 F$ k

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

, o1 B! N. {6 j4 C/ u

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

1 o; m1 X' J: i& B* a, E

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

: n" A P7 P3 r/ q. j& N

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

5 ^- ?% K6 F0 t9 Q% N

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

6 }- F; b" h9 c

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

+ J+ ?/ r9 \! _% L! e

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

3 }1 m0 J- B3 B6 x4 k* X! v) p$ F

compteur = compteur +1;

`1 m4 Y+ e. B ]

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


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




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