Может ли Octave / Matlab работать в целых долях - PullRequest
0 голосов
/ 08 июня 2018

Я написал 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

...