Как Вы создаете матрицу из текстового файла в MATLAB?

Мммм, лучший подход, который вы хотите использовать, может состоять в том, чтобы распространить это на 2 действия.

def index
   @post = Post.all
end

def get
  @post = Post.where("author=?", params[:author_id])
end

. или показать), чтобы получить запрошенный и показать его!

9
задан Amro 28 August 2012 в 13:45
поделиться

4 ответа

Если все записи в вашем файле числовые, вы можете просто использовать a = load ('file.txt') . Он должен создать матрицу 65536x4 a . Это даже проще, чем csvread

22
ответ дан 4 December 2019 в 06:01
поделиться

Самый простой способ сделать это - использовать функцию MATLAB csvread .

Существует также этот инструмент, который читает файлы CSV.

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

7
ответ дан 4 December 2019 в 06:01
поделиться

Вместо того, чтобы возиться с Excel, вы должны иметь возможность читать текстовый файл непосредственно в MATLAB (используя функции FOPEN , FGETL , ] FSCANF и FCLOSE ):

fid = fopen('file.dat','rt');  %# Open the data file
headerChars = fgetl(fid);      %# Read the first line of characters
data = fscanf(fid,'%f,%f,%f,%f',[4 inf]).';  %'# Read the data into a
                                              %# 65536-by-4 matrix
fclose(fid);  %# Close the data file
8
ответ дан 4 December 2019 в 06:01
поделиться

Предлагаем вам ознакомиться с dlmread и textcan .

dlmread похож на csvread , но поскольку он может обрабатывать любой разделитель (табуляция, пробел и т. д.), я обычно использовать его, а не csvread .

textcan - настоящая рабочая лошадка: множество опций, + он работает с открытыми файлами и немного более надежен для обработки "плохого" ввода (например, не -числовые данные в файле).Его можно использовать как fscanf в предложении gnovice, но я думаю, что это быстрее (хотя не цитируйте меня).

5
ответ дан 4 December 2019 в 06:01
поделиться
Другие вопросы по тегам:

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