Я написал 2 небольшие программы для реализации метода сопряженных градиентов и метода градиентного спуска, но я получаю ложные результаты.Меня интересует только небольшое количество шагов и получение точных ответов от итерации, но Octave и Matlab дают мне неправильные результаты с форматом rat .
Есть ли способ заставить Matlabили Octave для работы в целых долях?
clc,clear
format rat
A=[1 1 2;1 10 8;2 8 12]
b=[3;1;3];
X=[-1;0;0]
r=b-A*X;
p=r;
k=0
while k<2
w=A*p;
alpha=r'*p./(w'*p);
X=X+alpha*p
ralt=r;
r=ralt-alpha*w;
beta=r'*w./w'*p;
p=r-beta*p;
k=k+1
end
disp(X)
Выход -317/450, 379/2565, 447/1210 Должен быть 10244/7981, -12141/15962, 21717/31924