2017-01-23 2 views

ответ

0

Эта проблема может быть сформулирована как набор линейных уравнений, которые тривиальны для решения с использованием функции mldivide.

Позвольте мне проиллюстрировать это, используя приведенный вами пример.

% from the given example 
in = [... 
    1,1; 
    1,2; 
    2,1; 
    2,2]; 

out = [... 
    2; 
    3; 
    4; 
    5]; 

% compute the variable terms in the polynomial 
x = in(:,1); 
y = in(:,2); 
xy = x .* y; 
c = ones(size(out)); % constant 

% compute the coefficients of the polynomial 
p = [xy,y,x,c] \ out; 
% result: [0; 1; 2; -1] 

Оператор p = [xy,y,x,c] \ out вычисляет оптимальные коэффициенты (по методу наименьших квадратов ошибок), когда проблема Переограниченной (т.е. решения не существует для точно удовлетворяют всем уравнениям). Но если существует только столько уравнений, сколько есть переменных (например, в этом примере есть 4 уравнения из-за 4 пар вход-выход и есть 4 коэффициента, которые необходимо оценить), то коэффициенты могут быть вычислены просто на p = inv([xy,y,x,c]) * out ,

Смежные вопросы