数学建模社区-数学中国

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

作者: god    时间: 2004-12-27 21:51
标题: 一个泊松方程的程序,大家一块研究啊
这是我为我女朋友的课程设计写的,如有不足,大家指点啊0 C9 _, G4 T2 g6 `. X 3 Z I% R6 F4 n$ x. @" j

t=input('请输入时间步长:'); 3 p7 a M/ q. t$ l: H* k& g8 Fh=input('请输入x轴步长:'); $ q0 J7 G ]% Hr=t/h^2;a=1-2*r; ! Y+ W% k: `: X+ b3 U( D4 H' ~A=[]; d- {2 s; f! w; U* P u=[];%第0时间层的数值0 G$ n4 o8 q0 A& D m=1/h;! v3 C- A9 {, h0 d2 D2 y1 ~ j=0:h:1; ) a1 A7 m3 c# iI=ones(size(j)); . c) C3 A8 h/ Q6 k0 C u=4*j.*(I-j); * B0 l/ A$ |& b$ n# p2 u% N %第0时间层的值的计算% i c- B. a" V0 {9 V disp('5秒之后将会显示第0时间层的数值:')/ ]% O+ ]& ?! @/ c0 I3 H5 y, ^ pause 8 j0 r- w9 B* b/ uu 5 i: D/ r" y* v5 [7 i( l3 H% Uw=[];%第1时间层数值的计算. y% t3 ^; D/ v( ^/ j for j=2:m3 G/ J9 J n1 E- A8 U5 A0 M" O' D w(j)=[r*u(j)+a*u(j-1)+r*u(j+1)]; 6 [2 E5 V5 T D: j5 t$ _ w(1)=0;w(m+1)=0; - N: q/ c$ ]! G/ j+ H% v1 V- Rend %通过第0层数值来求第1层的计算 9 ]( u% j! S# b4 ^& p: ndisp('5秒之后将会显示第1时间层的数值:') $ L7 r8 Y& K' Mpause( H3 O9 F' K7 K: [6 T w' w; @0 p$ C. T: z" A& k/ C0 P q=[];%第2时间层的数值 ; B8 Y$ n1 j! V7 S. [* G: Tfor j=2:m 8 i) Z& n4 P5 K q(j)=[r*w(j)+a*w(j-1)+r*w(j+1)]; 9 V. p* f% d* m% P2 f q(1)=0;q(m+1)=0;/ Y' c2 W7 X* e) e, y6 n0 q end %通过第1层数值来求第2层的计算, v1 x. t3 i& l# s disp('5秒之后将会显示第2时间层的数值:'). y/ i/ M# j( ^) t% e pause9 }! r( P: |; { q 8 I$ I5 S! `1 X8 h. r, E* `f=[];%第3时间层的数值8 l/ {0 f. P* `+ c for j=2:m, n- H+ D+ U- u2 M W# i5 m8 K f(j)=[r*q(j)+a*q(j-1)+r*q(j+1)]; ) F0 { x4 s" d, K0 d f(1)=0;f(m+1)=0; ) ^. W% }& v7 M- J y0 Lend %通过第2层数值来求第3层的计算 4 \3 P4 T" R- R+ g: ldisp('5秒之后将会显示第3时间层的数值:') 8 ^# v1 N9 ?0 z1 |+ f6 U6 epause : m \9 F) S3 b$ i! t$ N/ uf8 l; o% B8 |$ `" z$ J2 X e=[];%第4时间层的数值: S7 h* h7 ?1 S5 u; G& R for j=2:m/ Y6 g: P/ ~+ q n* k, g, W Q& |! L e(j)=[r*f(j)+a*f(j-1)+r*f(j+1)]; ) R3 t3 z' d' l5 J0 u/ v3 U e(1)=0;e(m+1)=0;2 U& N8 z. v* r* Q# O4 e! o2 I end %通过第3层数值来求第4层的计算 : T) r4 D: [1 x* F# a8 h1 y; }" Jdisp('5秒之后将会显示第4时间层的数值:')' ^* t) ^5 n+ U0 S! h pause% S$ z/ `& q; C e . p% C3 ?3 G7 @g=[];%第5时间层的数值3 A/ l2 ~, ^( h. ]3 l6 B4 f2 z$ `8 Y for j=2:m % s% g3 s; v- e1 E* H$ z" z; D g(j)=[r*e(j)+a*e(j-1)+r*e(j+1)];& c' y& g: R( z4 V8 o( J. R g(1)=0;g(m+1)=0; & y7 U0 `' L, k, J) |end %通过第4层数值来求第5层的计算" H) g" Y5 ~3 B, W disp('5秒之后将会显示第5时间层的数值:'); r4 j" y. b& `) f+ {1 Y* F pause * V% `/ ?5 a+ a3 i! bg) K. E' H6 M5 Q B0 H8 E& h if r<=0.5. l* L, i) g' X @5 }, t, h0 J disp('以上为上五层数据,因为r小于0.5,在稳定区域,所以方法稳定!')7 W% ~/ v' [ e0 Z. P* }& ^ else , S! V" h' J- [ disp('以上为上五层数据,因为r大于0.5,不在稳定区域,所以方法不稳定!') . B/ U) |! Q4 `+ ^! @7 Aend& Y* d% q, r* J7 q! j- R7 z 2 ]6 S5 Q4 ?# x9 a有用的,大家可以直接用啊

( V# r) M" W3 R" l2 G+ [- }2 i; s

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

[em05][em05] 9 ?3 U2 ^% S+ z
[此贴子已经被作者于2004-12-27 21:52:53编辑过]





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