数学建模社区-数学中国

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

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

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

- h) f* ~" c# r; g/ b1 {% t : G# ^3 ? ?( G# E+ O* |* N0 _

%
% Programme pour leopard
%

w+ j0 |0 N8 S, D) a

global d K F N

+ Y) M. {% k6 Z7 _: \! N; z

N = 64

$ x4 V! Q1 J2 h3 U, |( q

dx = 1/N;

/ c6 g; n$ g0 l

d=10
K=0.01
F=0.1

3 a" k7 h! t Y$ {% V


dt=0.001;

; C, O7 P+ c% z: q$ J% [2 Z

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

q! Q; S6 C2 G0 j3 i, H- C$ y" |

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

% `, O) @8 n j7 C+ c0 o0 C% H

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

2 f1 V) G6 @8 g6 H8 B3 r8 Y

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

: B" p" { f% Q. D4 p8 {% U- s

compteur=0;

7 _9 M$ l! f' a( l

for t=0:dt:1,

: o" K8 O" q# z* E/ d: E

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

( k& r Y5 |1 Q; y8 c+ N. R _

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

+ J% q' i& I8 N# L6 a

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

T4 w* a" L0 a3 Q$ q! Q6 y, ~% Z R

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

* J P7 n* K; ^6 f* J1 i

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

* c+ \- o3 T h _

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

. O" l: i# U; z3 O5 l4 D

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

- m; K. h9 W, J* Z+ e2 S

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

7 Z* x" S9 q# h' F! ?3 @ r s

compteur = compteur +1;

7 _5 \. ?3 ]; t2 k' I) k h) j

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


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




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