数学建模社区-数学中国

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

作者: god    时间: 2004-12-27 21:51
标题: 一个泊松方程的程序,大家一块研究啊
这是我为我女朋友的课程设计写的,如有不足,大家指点啊 G& W* H6 L$ d5 e; j9 z8 A6 t" T ) |* B$ A4 H5 w# k& `; h# [

t=input('请输入时间步长:'); ; B0 b3 ]. x; D" H! X3 Hh=input('请输入x轴步长:'); ' F) J- a1 R" I5 S( n. M! lr=t/h^2;a=1-2*r; $ E8 h. p& Y( c9 o1 f5 V# T3 KA=[]; # v: Y5 i+ z3 P3 H ]' Ou=[];%第0时间层的数值 . F0 D- v7 d6 k; N0 qm=1/h;0 u4 O, H/ e q) ?3 @ j=0:h:1; " m" Q$ N; b- sI=ones(size(j));3 y, |4 s. |: D, b$ } u=4*j.*(I-j);1 G) v w, ?. ~3 F# R %第0时间层的值的计算 , U2 o M C+ s" f3 n+ Zdisp('5秒之后将会显示第0时间层的数值:')6 V! x, j w! a pause0 g% @& ?. z2 V" U u 5 Y& m9 |. P& Z5 Uw=[];%第1时间层数值的计算 " y- P5 C! J8 Q+ sfor j=2:m9 G- t' C( Y' O' i+ R f: u7 l `5 Y: w w(j)=[r*u(j)+a*u(j-1)+r*u(j+1)]; ( W7 x; ]( r6 P; [6 `% h7 M w(1)=0;w(m+1)=0; " T J, u1 Q1 r; F, Hend %通过第0层数值来求第1层的计算0 u% O! y* [9 G4 h, h' |% r disp('5秒之后将会显示第1时间层的数值:') * K# d& f4 j `- l" W/ x" }pause % G( E& F5 {' j% ]# ww 6 O$ U; ~* @7 @* B, ^& Hq=[];%第2时间层的数值, m! W v& Y) s* S6 v$ f; X for j=2:m$ t7 L3 r8 `. F# T q(j)=[r*w(j)+a*w(j-1)+r*w(j+1)]; ' c8 G! U4 {# Z7 d* M& q q(1)=0;q(m+1)=0; 4 n3 }0 L; I7 m, R' fend %通过第1层数值来求第2层的计算- ^! R8 D: k- E" I$ E disp('5秒之后将会显示第2时间层的数值:')% v# k0 @, J: ^: ]3 | pause 6 M2 E2 F. E( n3 Y* i: m" j' Rq % c |% Q9 h# x- Y8 `. L/ ff=[];%第3时间层的数值7 d' z5 k3 X9 q4 K8 |- e% h for j=2:m 1 K# B! J' K0 |5 _ f(j)=[r*q(j)+a*q(j-1)+r*q(j+1)]; ) W; W% t& a% s- I8 K f(1)=0;f(m+1)=0;8 G" F* W6 F6 k- p; a6 N end %通过第2层数值来求第3层的计算% S, Z- E: U& ]4 y disp('5秒之后将会显示第3时间层的数值:') * ~- S8 K' q# S+ K) K! [pause % r6 N9 T% k9 {) K) N: a& if * q( Y3 D) A/ o3 U) d5 a; M) Ue=[];%第4时间层的数值 * c5 T( Z% s7 e# x, `6 Wfor j=2:m ' b9 F1 e- }" }: @6 x" {% ~" c e(j)=[r*f(j)+a*f(j-1)+r*f(j+1)];/ Q* J$ L5 s z- g; i" r4 f8 E+ j e(1)=0;e(m+1)=0;( m: {7 _, {" W5 u end %通过第3层数值来求第4层的计算 . M. s4 R" I6 i; rdisp('5秒之后将会显示第4时间层的数值:') 2 E( {+ [7 L8 xpause 7 L0 v3 X& H: a; L" r; R {. w4 He: s+ Y8 d: [4 U g=[];%第5时间层的数值2 c7 A9 v/ ~8 [' [6 B" n for j=2:m 1 z p0 s; z" E2 o! h8 h3 K+ J g(j)=[r*e(j)+a*e(j-1)+r*e(j+1)]; q6 @1 ^. g8 a) y5 r( w g(1)=0;g(m+1)=0; 1 |7 H6 d5 E" tend %通过第4层数值来求第5层的计算 1 A+ U+ I( @$ Ndisp('5秒之后将会显示第5时间层的数值:'); y) A4 Q+ Z/ B4 z. n% { pause, D( S& |4 U6 I$ |% i4 W g& F, w* l$ z; A8 R2 L if r<=0.5# P7 b0 M# y5 @( X0 H+ y) E disp('以上为上五层数据,因为r小于0.5,在稳定区域,所以方法稳定!') % P! j' J* N Ielse 7 y h; M8 Q0 ]8 b- w S disp('以上为上五层数据,因为r大于0.5,不在稳定区域,所以方法不稳定!')" ~. |7 N( p. ?7 w$ k; v end S8 b1 B& K: c$ c6 O " ]8 y3 }# T: ]' s y有用的,大家可以直接用啊

9 ?1 s, V. m% Z3 x4 j

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

[em05][em05] . A, ]5 `! Z+ |" x
[此贴子已经被作者于2004-12-27 21:52:53编辑过]





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