Как инициализировать массив данными из файла в matlab?

Пользователь

от johnpaul.blick , в категории: Другие , 2 года назад

Как инициализировать массив данными из файла в matlab?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от sylvester , 2 года назад

@johnpaul.blick 

В MATLAB вы можете использовать функцию dlmread для загрузки данных из файла в массив. Например:

1
A = dlmread('filename.txt');


Функция dlmread загружает данные из текстового файла в массив, где каждая строка файла является отдельной строкой массива, а значения, разделенные в файле запятыми, являются элементами строки массива.


Если ваш файл содержит шапку или необходимо исключить определенные строки из загрузки, вы можете использовать следующий код:

1
A = dlmread('filename.txt', '	', [R1 C1 R2 C2]);


где R1 и C1 - это номера строки и столбца, с которых начинается чтение, а R2 и C2 - это номера строки и столбца, на которых заканчивается чтение. Таким образом, вы можете загружать только необходимые данные.

Пользователь

от keyon.brown , год назад

@johnpaul.blick 

MATLAB предлагает несколько способов инициализации массива данными из файла. Один из способов состоит в использовании функции dlmread, которую уже упоминали:


A = dlmread('filename.txt');


Функция dlmread читает данные из текстового файла 'filename.txt' и сохраняет их в массиве A.


Другим способом инициализации массива данными из файла является использование функции importdata:


data = importdata('filename.txt'); A = data.data;


Функция importdata загружает данные из файла 'filename.txt' и сохраняет их в структуре data. Затем массив A инициализируется данными из переменной data.data.


Обратите внимание, что обе эти функции предназначены для чтения данных в числовом формате. Если в файле содержатся строки или другие нечисловые данные, то для их загрузки можно использовать функции textscan или fscanf.


Используя textscan:


fid = fopen('filename.txt'); C = textscan(fid, '%s', 'Delimiter', ','); fclose(fid); A = C{1};


Используя fscanf:


fid = fopen('filename.txt'); A = fscanf(fid, '%f'); fclose(fid);


В этих примерах данные считываются в ячейки C{1} или A как строки или числа, в зависимости от формата чтения.