Matlab Линейная регрессия - PullRequest
       2

Matlab Линейная регрессия

0 голосов
/ 10 февраля 2019

У меня есть 4 набора данных, и мне нужно выполнить линейную регрессию на них.Я продолжаю получать ошибки в матрицах, которые я ввел.

Вот что я пытался сделать: я ввел четыре различных набора данных в виде матриц и создал цикл for, который будет проходить через каждый набор данных и выполнятьодинаковые расчеты на каждом.

Не уверен, что мой цикл for сработает - у меня очень базовые знания по Matlab, и поэтому любая помощь будет признательна !!

x{1} = [1; 2; 3];
y{1} = [2; 3; 4];

% Assume the following matrices are similar to the ones above 

x{2} = [...];
y{2} = [...];

x{3} = [...];
y{3} = [...];

x{4} = [...];
y{4} = [...];


for i = 1:1:4

z = [ones(size(x(i))) x(i)];
a = z\y(i); % Line with error

St = sum((y(i)-mean(y(i))).^2);
Sr = sum((y(i)-(10^(a(1))*x(i).^a(2))).^2);
r2 = 1-Sr/St;
syx = sqrt(Sr/(length(x(i))-length(a)));

end

1 Ответ

0 голосов
/ 11 февраля 2019

это, как предлагается в комментариях, вопрос {} вместо ().Попробуйте:

z = [ones(size(x{i})) x{i}];
a = z\y{i};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...