数学建模社区-数学中国

标题: 一个泊松方程的程序,大家一块研究啊 [打印本页]

作者: god    时间: 2004-12-27 21:51
标题: 一个泊松方程的程序,大家一块研究啊
这是我为我女朋友的课程设计写的,如有不足,大家指点啊' U" B$ S% n3 y" d1 A& h4 m; O 1 z8 x: s. ~8 G# U5 h

t=input('请输入时间步长:');3 c4 H% e9 s( D# P; o6 R h=input('请输入x轴步长:'); " L$ j6 e P2 J6 V: X i% yr=t/h^2;a=1-2*r; 7 e: F' w& k# c1 e+ M4 M ?) S+ }& yA=[]; - g" x8 A3 N8 lu=[];%第0时间层的数值 ; e7 X4 A( E# _5 t7 _( \6 Y7 |% bm=1/h;) G# t V2 ^$ b7 A j=0:h:1;" H/ g4 J- Z K% R) l1 j5 c4 B- B I=ones(size(j)); @8 f7 }& e+ ] q. Z u=4*j.*(I-j); $ @0 e0 @! U( }3 C/ l %第0时间层的值的计算 2 K' O# H# n c1 B {: v! Ldisp('5秒之后将会显示第0时间层的数值:')0 X" G/ n2 k# t1 c: E0 U pause ) s7 A' ]+ f0 x" d& I( z6 Iu4 r" V& q1 W; \* @+ X/ H. o w=[];%第1时间层数值的计算 * o2 Y. T( E. i" z' q/ sfor j=2:m ' B: `. u" ?9 q5 o/ U w(j)=[r*u(j)+a*u(j-1)+r*u(j+1)]; 1 Z+ x, D' D4 m w(1)=0;w(m+1)=0;, O- n% X+ x1 f3 Q+ L end %通过第0层数值来求第1层的计算$ |# C+ h2 s$ L$ t/ R disp('5秒之后将会显示第1时间层的数值:') 3 h, ~( D8 m4 U: hpause . j4 g X. q+ w- Q. _3 x: Pw' C) X- F5 C" @/ k q=[];%第2时间层的数值 * A* f7 m; W7 x7 Pfor j=2:m 4 G" d* ]* C, c# p q(j)=[r*w(j)+a*w(j-1)+r*w(j+1)]; 0 H% H. C% v, p1 }' `; g: N# I q(1)=0;q(m+1)=0;) S" h% c- f2 \8 j! V+ U end %通过第1层数值来求第2层的计算6 i9 v! G: B' g3 v8 H disp('5秒之后将会显示第2时间层的数值:')$ Q# C/ W/ q% K' P( S6 s pause 3 @ h) |9 O7 U5 s- s4 R8 _/ ~q* b' y- x( v) X f=[];%第3时间层的数值6 X9 P2 W7 r: X: ^ for j=2:m & k7 q0 j( t# X. P6 n' l f(j)=[r*q(j)+a*q(j-1)+r*q(j+1)];& ]1 s0 F# o! O% L/ ^" h# e f(1)=0;f(m+1)=0; 9 l$ B( r. C: H- U! t4 [6 Q# Aend %通过第2层数值来求第3层的计算4 b6 ~, l( i& w' B! H5 L- @( r, T7 u% { disp('5秒之后将会显示第3时间层的数值:')3 B' }& ~4 \) q, G0 u- { pause0 c: d# k9 } f' w- F f % P: h' x, o; S+ he=[];%第4时间层的数值4 O1 c. I) _5 `6 ]8 V/ T for j=2:m% t, O5 _ b0 X1 s e(j)=[r*f(j)+a*f(j-1)+r*f(j+1)]; ' J! X2 q% d. \* |, m! D/ Z" j e(1)=0;e(m+1)=0;" O" i4 F- e5 [% M* x, `- m m end %通过第3层数值来求第4层的计算/ O4 D7 |' v$ a& | Y0 } disp('5秒之后将会显示第4时间层的数值:')" c# X: i1 V% B% O! B# @* g pause 4 ~4 G) J2 A6 b3 X8 |! ge/ d! @/ N( i- N g=[];%第5时间层的数值 3 I0 N: E& P7 q3 S% i6 `$ Kfor j=2:m $ H2 [: J& U- h6 h g(j)=[r*e(j)+a*e(j-1)+r*e(j+1)];/ G+ s3 U9 E6 v# ` g(1)=0;g(m+1)=0; , d) t s) U4 b/ ?+ f9 hend %通过第4层数值来求第5层的计算5 N+ v# S' K6 G8 N, t disp('5秒之后将会显示第5时间层的数值:') 6 {; ~6 M) r$ y- [pause ; X4 t7 \. o4 U1 J R. Z& Gg8 _- k4 A8 M4 n. [6 D* | if r<=0.5: p; h o. a7 H6 V4 ~- m disp('以上为上五层数据,因为r小于0.5,在稳定区域,所以方法稳定!') ( f8 G5 ?1 q. D/ `+ J4 h6 Nelse . ?% `$ {9 Y" W4 ` disp('以上为上五层数据,因为r大于0.5,不在稳定区域,所以方法不稳定!')4 D1 J0 Y4 b3 A5 R' f/ O( l; T- } end9 g: [" D4 |9 I9 a0 q' C ( ^, _5 _5 l: A& z* C7 E% u有用的,大家可以直接用啊

! _9 d, \2 H( {

时间有限,其中的函数大家可以从程序中获知!!!

[em05][em05]* Z( T/ z/ F* l# x4 e5 o, V
[此贴子已经被作者于2004-12-27 21:52:53编辑过]





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