数学建模社区-数学中国

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

作者: god    时间: 2004-12-27 21:51
标题: 一个泊松方程的程序,大家一块研究啊
这是我为我女朋友的课程设计写的,如有不足,大家指点啊 , `* v, @# d% y# ^. A6 E& x * w- `/ d2 s: h7 N/ ~% O6 m

t=input('请输入时间步长:'); 5 F! D& q8 _& j- g' M: Rh=input('请输入x轴步长:');; b4 I5 k* ?/ g! S+ X0 Z r=t/h^2;a=1-2*r; 6 r! I2 g7 h5 x9 ?( d; _. _A=[]; , Q1 z# B0 @( a8 gu=[];%第0时间层的数值3 `8 }* k! V! k( ~" G# P m=1/h; 7 f5 c' W8 R, F' pj=0:h:1;' d* z \* N6 R* [ I=ones(size(j));* z x' g1 H _. x0 `4 C u=4*j.*(I-j); + J! z" Q4 C+ L %第0时间层的值的计算% @$ V+ g1 U# `, E. g" p3 R7 S' f disp('5秒之后将会显示第0时间层的数值:') 5 \$ P I$ Z8 A1 u c( ]pause # _' a7 w* v0 s2 cu! f8 L, ?' {* n2 D3 w/ x w=[];%第1时间层数值的计算4 M$ G- ]; E0 a2 @! s8 U for j=2:m # n: D4 J$ @3 l. N* F% K# d w(j)=[r*u(j)+a*u(j-1)+r*u(j+1)]; ( z! r3 i$ B" E8 u: W* v. I* B$ J3 ~ w(1)=0;w(m+1)=0; # q( |; h7 U) M' I8 d& x8 kend %通过第0层数值来求第1层的计算4 y* Z: A1 D- v. c disp('5秒之后将会显示第1时间层的数值:'): H0 Y6 N! p. v# j pause 6 M- _* |6 O: j1 u" ~/ Q0 R1 Nw4 @$ O$ S* c% N) O4 n0 b' H8 J q=[];%第2时间层的数值 ; |; N& Z% r6 [% o- `2 B' ~0 o5 afor j=2:m% v7 D1 M; |; [0 { q(j)=[r*w(j)+a*w(j-1)+r*w(j+1)]; 6 A6 U) j1 K! D4 c- ~2 S: Y q(1)=0;q(m+1)=0; + z! w) z/ k# X# N8 x* v4 Fend %通过第1层数值来求第2层的计算. F8 B; x6 x M: s7 j/ z disp('5秒之后将会显示第2时间层的数值:') " l9 `# |+ P/ a, D% A' Gpause7 X, f- A6 Q4 m. } q3 Z( r$ ?& H. T6 i6 V' i7 ]1 ]) p' M& L f=[];%第3时间层的数值# k' J9 K/ `$ e+ n for j=2:m! X0 C2 n4 e4 m* u, q) a f(j)=[r*q(j)+a*q(j-1)+r*q(j+1)];$ Z7 N& L) {2 L8 N f(1)=0;f(m+1)=0; - P8 y9 N2 P9 ^+ S6 J+ \2 uend %通过第2层数值来求第3层的计算 . p9 d& J2 b. u( `$ c: {! zdisp('5秒之后将会显示第3时间层的数值:')! { b: w; K6 Z( ?1 p4 [# Z" a, ^ m pause - {0 X2 A$ X0 l1 kf 5 M D) B l' q3 V! p) @! L+ pe=[];%第4时间层的数值# g) f" @9 m$ Z# c for j=2:m+ S, D7 B+ u0 U/ |) |# M e(j)=[r*f(j)+a*f(j-1)+r*f(j+1)];7 h7 Y* a* S) _5 I5 R e(1)=0;e(m+1)=0; $ ?! J6 J* ^6 w6 H. kend %通过第3层数值来求第4层的计算 1 v# r) H7 T: ndisp('5秒之后将会显示第4时间层的数值:')0 D+ @. @8 V6 [$ p pause% Q6 P. ]4 n9 [5 @7 q e+ k# X5 x+ q) p- i g=[];%第5时间层的数值 $ Q9 k4 a+ a9 V' u7 Y7 k. q+ p9 _" f, Vfor j=2:m 2 L- e5 P% o) ]8 @" c g(j)=[r*e(j)+a*e(j-1)+r*e(j+1)]; $ E- R( E* @/ h' L7 A+ M, ] g(1)=0;g(m+1)=0; 9 |9 l4 N: b' S5 P0 ~end %通过第4层数值来求第5层的计算. r% O4 A0 J& ]. m- B5 v: g disp('5秒之后将会显示第5时间层的数值:')) x0 K" b# ^/ E9 X. P pause ; u5 Q! E3 a1 f0 n6 g, b, Y/ `7 ug " m# z6 E* b) Y/ f8 i- k oif r<=0.5 ; N3 b1 P& F# B) k1 o k disp('以上为上五层数据,因为r小于0.5,在稳定区域,所以方法稳定!')+ ~) Q, ]2 N6 `8 H3 Z- h else # s% w0 m1 L1 ]8 ~% S8 T& p: ~ disp('以上为上五层数据,因为r大于0.5,不在稳定区域,所以方法不稳定!'), n$ J( ~. ^, l! x. E3 X$ `- l end 6 C* O2 q5 G: e, w, f5 V' ?; A / @' p9 T5 ~$ H0 o( K; y4 r有用的,大家可以直接用啊

3 g/ C: ]) b- o; J3 D' y4 {

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

[em05][em05] $ o) D1 ]# z9 ^% B% C7 h
[此贴子已经被作者于2004-12-27 21:52:53编辑过]





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