линейное решение наименьших квадратов A*X=B с минимальной norm(X)
X = lsq(A, B) X = lsq(A, B, tol)
вещественная или комплексная матрица (m x n)
вещественная или комплексная матрица (m x p)
положительный скаляр, используемый для определения действительного ранга
A
(определяемого как порядок наибольшей главной
треугольной подматрицы R11
в QR-разложении с выбором
ведущего элемента A
, чьё оцененое число
обусловленности <= 1/tol. Значение tol
по
умолчанию устанавливается равным sqrt(%eps)
.
вещественная или комплексная матрица (n x p)
X=lsq(A,B)
вычисляет решение наименьших квадратов с минимальной
нормой уравнения A*X=B
, при этом X = A \ B
вычисляет решение наименьших квадратов с ненулевыми компонентами не более
rank(A)
на столбец.
Функция lsq
основана на функциях LApack DGELSY для
вещественных матриц и ZGELSY для комплексных матриц.
//Build the data x=(1:10)'; y1=3*x+4.5+3*rand(x,'normal'); y2=1.8*x+0.5+2*rand(x,'normal'); plot2d(x,[y1,y2],[-2,-3]) //Find the linear regression A=[x,ones(x)];B=[y1,y2]; X=lsq(A,B); y1e=X(1,1)*x+X(2,1); y2e=X(1,2)*x+X(2,2); plot2d(x,[y1e,y2e],[2,3]) // Разница между lsq(A,b) и A\b A=rand(4,2)*rand(2,3);//ранг матрицы 2 b=rand(4,1); X1=lsq(A,b) X2=A\b [A*X1-b, A*X2-b] //остатки от деления одинаковы | ![]() | ![]() |