ВУЗ:
Составители:
Рубрика:
51
мер спай-графика ("портрет" матрицы) такой матрицы приведен на рис. 1.4.
Для примера возьмем область размером 22
n
=
узловых точек. Размерность
матрицы в этом случае равна
(
)
2
2 400n −= . Вектор правой части возьмем со-
стоящим из единиц:
>> n=22;
>> A=delsq(numgrid('S',n));
>> b=ones(length(A),1);
Попытаемся решить СЛАУ, задав все параметры функции pcg по умолча-
нию
>> [x,flag,relres,iter,resvec]=pcg(A,b);
За 20 итераций, задаваемых по умолчанию, получить решение не удалось:
>> flag
flag =
1
>> relres
relres =
0.0057
>> iter
iter =
20
Решим ту же СЛАУ, задав допустимую погрешность вычислений
tol=
6
10
−
, а предельное число итераций равным 400
>> [x,flag,relres,iter,resvec]=pcg(A,b,1e-6,400);
Решении достигается за 32 итерации:
>> flag
flag =
0
>> iter
iter =
32
>> relres
relres =
4.6868e-007
При исследовании итерационных алгоритмов большой интерес пред-
ставляет зависимость относительной нормы невязки от номера итерации.
График такой зависимости легко получить, применив возвращаемый пара-
метр
resvec функции pcg
>> semilogy(0:iter,resvec/norm(b));
>> grid
>> xlabel('Номер итерации')
>> ylabel('Относительная норма невязки')
мер спай-графика ("портрет" матрицы) такой матрицы приведен на рис. 1.4. Для примера возьмем область размером n = 22 узловых точек. Размерность матрицы в этом случае равна ( n − 2 ) = 400 . Вектор правой части возьмем со- 2 стоящим из единиц: >> n=22; >> A=delsq(numgrid('S',n)); >> b=ones(length(A),1); Попытаемся решить СЛАУ, задав все параметры функции pcg по умолча- нию >> [x,flag,relres,iter,resvec]=pcg(A,b); За 20 итераций, задаваемых по умолчанию, получить решение не удалось: >> flag flag = 1 >> relres relres = 0.0057 >> iter iter = 20 Решим ту же СЛАУ, задав допустимую погрешность вычислений tol=10−6 , а предельное число итераций равным 400 >> [x,flag,relres,iter,resvec]=pcg(A,b,1e-6,400); Решении достигается за 32 итерации: >> flag flag = 0 >> iter iter = 32 >> relres relres = 4.6868e-007 При исследовании итерационных алгоритмов большой интерес пред- ставляет зависимость относительной нормы невязки от номера итерации. График такой зависимости легко получить, применив возвращаемый пара- метр resvec функции pcg >> semilogy(0:iter,resvec/norm(b)); >> grid >> xlabel('Номер итерации') >> ylabel('Относительная норма невязки') 51
Страницы
- « первая
- ‹ предыдущая
- …
- 49
- 50
- 51
- 52
- 53
- …
- следующая ›
- последняя »