реклама на сайте
подробности

 
 
> чтение данных из файла в Matlab, построковое чтение данных из файла
Buratino
сообщение Sep 10 2014, 12:04
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 24-11-11
Из: Город-герой Минск
Пользователь №: 68 491



Есть .dat файл с двоичными 16разрядными данными вида:

00001111000011110000
11110000111100001111
и т.д


всего 65535 строк

каким способом этот файл можно считать в матрицу 65535x1 с тем условием, чтобы данные имели уже десятичный формат, а не двоичный?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
valeros
сообщение Sep 10 2014, 12:54
Сообщение #2





Группа: Участник
Сообщений: 11
Регистрация: 4-12-11
Из: Киев
Пользователь №: 68 670



Пользуйтесь: fopen() и binaryVectorToDecimal()
Go to the top of the page
 
+Quote Post
Buratino
сообщение Sep 10 2014, 13:42
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 24-11-11
Из: Город-герой Минск
Пользователь №: 68 491



Цитата(valeros @ Sep 10 2014, 15:54) *
Пользуйтесь: fopen() и binaryVectorToDecimal()

я попробовал использовать scantext
A = scantext(fid, '%16u16',1) таким способом получилось вывести первое число
когда я попробовал поменять последний параметр функции scantext и написал так
A = scantext(fid, '%16u16', -1), где -1 - чтение всего файла, в воркспэйсе получил A = [65535x1 uint16] sad.gif
а с функцией bi2de не совсем ясно как читать строки последовательно
Go to the top of the page
 
+Quote Post
Fat Robot
сообщение Sep 10 2014, 14:28
Сообщение #4


ʕʘ̅͜ʘ̅ʔ
*****

Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691



открываем файл
fopen

дальше в цикле, пока файл не закончится
while feof() ~= ...
fscanf
bin2dec - предполагаем, что msb - самый левый в строке
end

закрываем файл
fclose

binaryVectorToDecimal() - такой функции в стандартном наборе матлаба нет.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st June 2025 - 01:28
Рейтинг@Mail.ru


Страница сгенерированна за 0.01379 секунд с 7
ELECTRONIX ©2004-2016