Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.94/32: Рейтинг темы: голосов - 32, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 25.07.2013
Сообщений: 163

Чтение MATLAB файлов

25.07.2013, 18:11. Показов 6543. Ответов 44
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, есть несколько .mat файлов в которых содержатся различные параметры: числа, массивы чисел размером до 1000х1000. Необходимо оперировать данными параметры в C#, отсюда возникает вопрос как подключить сами файлы, а затем вызывать нужные параметры?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.07.2013, 18:11
Ответы с готовыми решениями:

Чтение переменных из Matlab
Здравствуйте! Работаю с матлабом в c#. В матлабе есть функция, которая принимает входные аргументы из программы на c#,обрабатывает их и...

Чтение COM-порта в Matlab
Здравствуйте. что-то не получается организовать чтение данных с ком порта в matlab. то, что данные поступают - это точно, проверялось с...

Чтение из txt файла в MatLab
Необходимо из файла word.txt, содержание которого примерно: получить строковый массив ячеек word = {'конь', 'три',...

44
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8726 / 3678 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
25.07.2013, 18:42
Прикрепите примеры файлов.
0
0 / 0 / 0
Регистрация: 25.07.2013
Сообщений: 163
25.07.2013, 19:08  [ТС]
Оригиналы к сожалению сейчас не могу выложить, но вот абстрактный пример набросал:
Хмм на работе не заметил а дома окрывается файл по умолчанию Microsoft Access...
Вложения
Тип файла: zip SFB__vector__SFB.zip (696 байт, 15 просмотров)
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8726 / 3678 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
25.07.2013, 19:37
Файл MATLAB v5 (вот спецификация). Будет неплохо увидеть что должно получиться в результате обработки такого файла (у самого MATLAB не стоит).

Попозже почитаю спецификацию...
0
0 / 0 / 0
Регистрация: 25.07.2013
Сообщений: 163
25.07.2013, 19:58  [ТС]
файл предсавляет n-ное число параметров, некоторые параметры представляют из себя таблицу как в exel, необходимо эти таблицы собрать в c# в массивы, которыми уже можно будет оперировать...
0
0 / 0 / 0
Регистрация: 25.07.2013
Сообщений: 163
25.07.2013, 20:28  [ТС]
вот
Миниатюры
Чтение MATLAB файлов  
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8726 / 3678 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
25.07.2013, 21:36
В общем, ничего сложного, но просто так сходу данные не вытянуть, надо разбирать структуру файла: смотреть что за тип данных, если примитив, то всё отлично, если нет, то разбирать тип и т.д.
В виду этого предлагаю Вам начать и обращаться сюда по мере возникновения конкретных проблем/вопросов по реализации/спецификации и т.п., думаю найдутся люди которые захотят помочь, да я и сам с радостью но заниматься полным разбором как-то не хочется...

Вот, кстати, нашел библиотеку на C для чтения MAT файлов: Matio, можно её попробовать прикрутить.
0
0 / 0 / 0
Регистрация: 25.07.2013
Сообщений: 163
25.07.2013, 21:41  [ТС]
могли бы подсказать или ссылку на инфу дать с чего бы начать...
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8726 / 3678 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
25.07.2013, 21:49
ZaStalim, со спецификации файла и изучения пространства имён System.IO, а именно класс BinaryReader.

з.ы. Добавил ссылку на сишную либу.

Добавлено через 6 минут
Хочу Вас обрадовать, есть готовая библиотека на C# - CSMatIO, Ваш файл открылся без проблем (внутри есть тестовое приложение).
Вложения
Тип файла: zip CSMatIO.zip (712.0 Кб, 39 просмотров)
0
0 / 0 / 0
Регистрация: 25.07.2013
Сообщений: 163
26.07.2013, 22:42  [ТС]
спасибо, я так понял к проекту надо всегда подключать csmatio.dll and the zlib.net.dll, и не вкурсе только на visual studio можно или в SharpDevelop тоже прокатит? пока выходные попробую разобраться, еще проблема то что файлы создавались многими людьми и черт их поймешь какие там массивы чисел, символов или еще что.

Добавлено через 25 минут
что-то я не въеду, извиниюсь что такой нуб, сам я не программист но по работе необходимо, поэтому был бы премного благодарен за описание действий ,что сделать чтобы в консольное приложение подключать данную библиотеку и отткрывать mat файлы

Добавлено через 33 минуты
вроде понял что надо создать решение, подключить к нему csmatio.csprj, а вот далее насчет .dll файлов и процедуры считывания не очень понял...
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8726 / 3678 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
27.07.2013, 02:49
Цитата Сообщение от ZaStalim Посмотреть сообщение
SharpDevelop тоже прокатит
Причин для того чтобы не прокатило я не вижу )
Цитата Сообщение от ZaStalim Посмотреть сообщение
пока выходные попробую разобраться, еще проблема то что файлы создавались многими людьми и черт их поймешь какие там массивы чисел, символов или еще что
Тут отладчик поможет (чтобы смотреть тип массива) и пример приложения которое поставляется с CSMatIO: CSMatIOTest.exe.
Цитата Сообщение от ZaStalim Посмотреть сообщение
что сделать чтобы в консольное приложение подключать данную библиотеку
Для Visual Studio: выбираете меню "Project -> Add Reference...", выбираете библиотеки csmatio.dll и zlib.net.dll, всё - библиотеки подключены.
Цитата Сообщение от ZaStalim Посмотреть сообщение
отткрывать mat файлы
В примере (который в аттаче, да и в csmatio тоже) есть.
Цитата Сообщение от ZaStalim Посмотреть сообщение
вроде понял что надо создать решение, подключить к нему csmatio.csprj
csproj подключать не надо, можно только добавить ссылки на библиотеки.

В аттаче пример для VS2012, если 2012 не стоит тогда открывайте ConsoleApplication1.csproj файл студией (которая есть) или SharpDevelop.
Вложения
Тип файла: rar CSMatIO_Example.rar (126.4 Кб, 28 просмотров)
0
0 / 0 / 0
Регистрация: 25.07.2013
Сообщений: 163
27.07.2013, 12:17  [ТС]
а если я только ссылки на библиотеке добавлю на другом компьютере без них же работать не будет?
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8726 / 3678 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
27.07.2013, 12:24
ZaStalim, не будет. Если Вы добавите проект (csproj) в решение (sln), то от этого ничего не поменяется, нужно сливать тогда Ваш основной код и код библиотек в один проект, чтобы не было зависимостей на эти библиотеки.
Вот способ добавления внешних .NET библиотек в проект чтобы не надо было их рядом таскать, они загружаются из памяти.
1
0 / 0 / 0
Регистрация: 25.07.2013
Сообщений: 163
27.07.2013, 20:48  [ТС]
спасибо большое, если будут возникать вопросы напишу, надеюсь если будет несложно поможете =)
0
0 / 0 / 0
Регистрация: 25.07.2013
Сообщений: 163
01.08.2013, 09:57  [ТС]
Начал разбираться и не понял почему в вашем примере файл имеет расширение mat.b а не просто mat

Добавлено через 38 минут
И еще с чем может быть связано то что тестовая программа выводит invalid binary mat file?
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8726 / 3678 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
01.08.2013, 12:11
Цитата Сообщение от ZaStalim Посмотреть сообщение
файл имеет расширение mat.b
Не имеет значения, поменяйте на mat.
Цитата Сообщение от ZaStalim Посмотреть сообщение
invalid binary mat file
Скорее всего с тем что версия файла не 5, а иная, либо где-то в коде парсера баг (но я в этом сомневаюсь), надо смотреть под отладчиком...
0
0 / 0 / 0
Регистрация: 25.07.2013
Сообщений: 163
02.08.2013, 20:36  [ТС]
а вы mat файл добавляли в проект через add/existing item???
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8726 / 3678 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
02.08.2013, 21:30
Да, положил в папку с проектом и добавил через Add Existing item, в свойствах установил CopyLocal в Always (вроде). А вообще не обязательно его добавлять в проект, нужно просто путь к файлу указать. Я это сделал дабы всегда был какой-то файл.
0
0 / 0 / 0
Регистрация: 25.07.2013
Сообщений: 163
02.08.2013, 21:54  [ТС]
А если Я просто добавлю и прописывает нигде путь не буду,все добавленные файлы смогу считать которые добавлю?
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8726 / 3678 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
02.08.2013, 23:46
ZaStalim, посмотрите как работает библиотека, MatFileReader требует на вход путь к файлу, всё-равно что Вы там делаете с файлами, укажите ей путь. Существует файл - библиотека пробует его прочитать, иначе ошибка. Можно переписать исходную библиотеку чтобы она принимала на вход Stream, тогда без разницы где файл находится, хоть в ресурсах.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.08.2013, 23:46
Помогаю со студенческими работами здесь

Чтение Matlab-ом функций из excel-я
Задался вопросом ввода вывода данных. А может ли матлаб функцию прочитать из ячейки? я попробовал, в ячейку записывается что то типа ''....

Чтение текстовых данных из Excel в Matlab
Проблема такова: при использовании команды xlsread из Excel в Matlab считываются лишь числовые данные, а как по аналогии прочитать...

В каком из файлов и где сменить права на чтение файлов (пользователи и группы) Apache2?
/etc/apache2/ |-- apache2.conf | `-- ports.conf |-- mods-enabled | |-- *.load | `-- *.conf |-- conf-enabled ...

Подключение DLL - файлов к MatLab
Добрый день/вечер/ночь. Столкнулся я с такой проблемой: у меня имеется электронейромиограф(штука, которая снимает электрические...

Открытие файлов .exe в matlab
можно ли открыть файл ехе в матлабе так, чтобы он показал код этой программы на своём языке? пример - я пишу программу в Pascal ABC.NET,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru