清晰的
关闭所有, clc
格式短
L = 5;
H = 5;
△= 0.2
δy = 0.2
β=△/δy
Beta2 =β^ 2
约= H /δy
我= L /△
Si1 = 100;Si2 = 0;
y = H:δy: 0;
x = 0:△:L;
一轮= (((cos(π/ im) + cos(π/约))/ 2)^ 2,4)
Wopt= round(((2-2*(sqrt(1-a)))/a),2))
w = 0:0.01:2;
Si_old = 0(约+ 1,im + 1);
Si_old (1 7: im + 1) = Si1;
Si_old(约+ 1,1:im + 1) = Si2;
Si_old (1,6) = 0.001;
Si_old(1:约+ 1,- 1)= Si2;
Si_old (1:16, im + 1) = Si1;
Si_old (17, im + 1) = 0.001;
Si_new = Si_old;
错误= 0.011;
Errormax = 0.01;
iter = 0;
为o = 1:长度(w)
而错误> Errormax
iter (o) = iter + 1;
为我= 2:约
为j = 2: im
Si_new (i, j) = (1 w (o)) * Si_new (i, j) + (w (o) / (2 * (1 + Beta2))) * (Si_new(张,j) + Si_new (i + 1, j) + Beta2 * (Si_new (i, j + 1) + Si_new (i, j - 1)));
结束
结束
Error = sum(sum(abs(Si_old-Si_new),2));
Si_old = Si_new;
结束
如果o = = Wopt
Si_new =翻转(Si_new);
disp (' '); disp (' Y x=0.0 x= 1.0 x= 2.0 x= 3.0 x= 4.0 x= 5.0 ')
disp (' ');
disp ([y ' Si_new(:,找到(abs (x - 0.0) < 0.001)) Si_new(:,发现(abs (x - 1) < 0.001))...
Si_new(:,找到(abs (x - 2) < 0.001)) Si_new(:,发现(abs (3) < 0.001))...
Si_new(:,找到(abs (* 4) < 0.001)) Si_new(:,发现(abs (x - 5.0) < 0.001))))
disp (' ');disp ([点逐次超松弛法的迭代次数为int2str (iter)])
结束
图(2)
情节(t (o)、w (o));持有在
结束