Рассчитайте разложение по сингулярным значениям (SVD), прочитав файл .txt в Matlab

Я хочу рассчитать разложение по сингулярным значениям (SVD), прочитав текстовый файл. В моем файле .txt есть целочисленные данные, например,

1 5 6 7
3 2 4 1
7 5 9 4
6 3 1 5

Я мог бы сделать это вручную, включая данные, подобные следующему коду. (Здесь я также расширяю его для расчета LSA) Но как сделать тот же расчет, прочитав файл?

A = [1 5 6 7;3 2 4 1; 7 5 9 4; 6 3 1 5]
[U, S, V] = svd(A)
VP = V.'
AR = U * S * VP

U2 = U(:,1:2)
S2 = S(1:2,1:2)
VP2 = VP(:,1:2)
V2 = VP2.'

A2 = U2 * S2 * V2

person Emalka    schedule 25.09.2017    source источник
comment
Довольно много вариантов загрузки текстового файла в ответах связанного дубликата.   -  person gnovice    schedule 25.09.2017
comment
Я мог бы сделать это с помощью data = load('c:\\input.txt', '-ascii');. Спасибо за ваше предложение. На самом деле, у меня есть большая матрица размера набора данных 9970X1000. Итак, могу ли я использовать тот же способ для загрузки большого набора данных?   -  person Emalka    schedule 25.09.2017
comment
Это должно работать, если у вас есть память для хранения матричной переменной.   -  person gnovice    schedule 25.09.2017