|
0 / 0 / 0
Регистрация: 25.07.2013
Сообщений: 163
|
|
Чтение MATLAB файлов25.07.2013, 18:11. Показов 6543. Ответов 44
Метки нет (Все метки)
Здравствуйте, есть несколько .mat файлов в которых содержатся различные параметры: числа, массивы чисел размером до 1000х1000. Необходимо оперировать данными параметры в C#, отсюда возникает вопрос как подключить сами файлы, а затем вызывать нужные параметры?
0
|
|
| 25.07.2013, 18:11 | |
|
Ответы с готовыми решениями:
44
Чтение переменных из Matlab Чтение COM-порта в Matlab Чтение из txt файла в MatLab |
|
0 / 0 / 0
Регистрация: 25.07.2013
Сообщений: 163
|
|
| 25.07.2013, 19:08 [ТС] | |
|
Оригиналы к сожалению сейчас не могу выложить, но вот абстрактный пример набросал:
Хмм на работе не заметил а дома окрывается файл по умолчанию Microsoft Access...
0
|
|
|
Почетный модератор
|
|
| 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 [ТС] | |
|
вот
0
|
|
|
Почетный модератор
|
|
| 25.07.2013, 21:36 | |
|
В общем, ничего сложного, но просто так сходу данные не вытянуть, надо разбирать структуру файла: смотреть что за тип данных, если примитив, то всё отлично, если нет, то разбирать тип и т.д.
В виду этого предлагаю Вам начать и обращаться сюда по мере возникновения конкретных проблем/вопросов по реализации/спецификации и т.п., думаю найдутся люди которые захотят помочь, да я и сам с радостью но заниматься полным разбором как-то не хочется...Вот, кстати, нашел библиотеку на C для чтения MAT файлов: Matio, можно её попробовать прикрутить.
0
|
|
|
0 / 0 / 0
Регистрация: 25.07.2013
Сообщений: 163
|
|
| 25.07.2013, 21:41 [ТС] | |
|
могли бы подсказать или ссылку на инфу дать с чего бы начать...
0
|
|
|
Почетный модератор
|
|
| 25.07.2013, 21:49 | |
|
ZaStalim, со спецификации файла и изучения пространства имён System.IO, а именно класс BinaryReader.
з.ы. Добавил ссылку на сишную либу. Добавлено через 6 минут Хочу Вас обрадовать, есть готовая библиотека на C# - CSMatIO, Ваш файл открылся без проблем (внутри есть тестовое приложение).
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
|
|
|
Почетный модератор
|
||||||
| 27.07.2013, 02:49 | ||||||
|
В аттаче пример для VS2012, если 2012 не стоит тогда открывайте ConsoleApplication1.csproj файл студией (которая есть) или SharpDevelop.
0
|
||||||
|
0 / 0 / 0
Регистрация: 25.07.2013
Сообщений: 163
|
|
| 27.07.2013, 12:17 [ТС] | |
|
а если я только ссылки на библиотеке добавлю на другом компьютере без них же работать не будет?
0
|
|
|
Почетный модератор
|
|
| 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
|
|
|
Почетный модератор
|
|||
| 01.08.2013, 12:11 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 25.07.2013
Сообщений: 163
|
|
| 02.08.2013, 20:36 [ТС] | |
|
а вы mat файл добавляли в проект через add/existing item???
0
|
|
|
Почетный модератор
|
|
| 02.08.2013, 21:30 | |
|
Да, положил в папку с проектом и добавил через Add Existing item, в свойствах установил CopyLocal в Always (вроде). А вообще не обязательно его добавлять в проект, нужно просто путь к файлу указать. Я это сделал дабы всегда был какой-то файл.
0
|
|
|
0 / 0 / 0
Регистрация: 25.07.2013
Сообщений: 163
|
|
| 02.08.2013, 21:54 [ТС] | |
|
А если Я просто добавлю и прописывает нигде путь не буду,все добавленные файлы смогу считать которые добавлю?
0
|
|
|
Почетный модератор
|
|
| 02.08.2013, 23:46 | |
|
ZaStalim, посмотрите как работает библиотека, MatFileReader требует на вход путь к файлу, всё-равно что Вы там делаете с файлами, укажите ей путь. Существует файл - библиотека пробует его прочитать, иначе ошибка. Можно переписать исходную библиотеку чтобы она принимала на вход Stream, тогда без разницы где файл находится, хоть в ресурсах.
0
|
|
| 02.08.2013, 23:46 | |
|
Помогаю со студенческими работами здесь
20
Чтение Matlab-ом функций из excel-я Чтение текстовых данных из Excel в Matlab В каком из файлов и где сменить права на чтение файлов (пользователи и группы) Apache2? Подключение DLL - файлов к MatLab Открытие файлов .exe в matlab Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
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, то после закрытия окошка. . .
|