Вычислить разложение сингулярного значения (SVD), прочитав файл .txt в matlab [duplicate]

Последние новости:

Google объявляет, что с Android N и Android Studio 2.1+ платформа будет поддерживать Java 8. Также была выпущена стабильная версия студии 2.1.

Наконец, мы можем использовать лямбда-выражения. Больше нет фильтра списка в цикле. Horeeey.

1
задан Lazer 21 September 2009 в 23:24
поделиться

2 ответа

fread предназначен только для чтения двоичных файлов! Эквивалент для текстовых файлов - fscanf , используемый следующим образом:

fid = fopen('c:\\input.txt','rt');
data = fscanf(fid, '%f', inf)';
fclose(fid);

Или в вашем случае просто используйте load :

data = load('c:\\input.txt', '-ascii');

В MATLAB есть много других способов чтения текстовых данных из файлов:

8
ответ дан Amro 27 August 2018 в 09:35
поделиться

Ваш файл является текстовым файлом, поэтому вы должны открыть его для чтения текста:

fid=fopen('c:\\input.txt','rt');

Затем для чтения я нахожу TEXTSCAN более мощным, чем FREAD / FSCANF (различия между ними

data = textscan(f, '%f')

возвращает массив ячеек. Вы можете получить содержимое с помощью

>> data{1}

ans =

       2
       4
       8
      16
      32
      64
     128
     256
     512
    1024
    2048
    4096
    8192

TEXTREAD проще в использовании, чем TEXTSCAN , но согласно документации теперь устарела.

2
ответ дан mtrw 27 August 2018 в 09:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: