Как связать визуальную среду программирования C++ builder и matlab?21.10.2012, 21:53. Показов 7598. Ответов 27
Метки нет (Все метки)
Использую Rad Studio C++ Builder XE3. Так же по учёбе иногда приходится пользоваться матлабом. Сама среда программирования Matlab для инженеров (точно не для меня) хороша. Но создание GUI там для приложений просто ужасен.
Поэтому такой вопрос. Есть *.m файл делающий свою функцию. Можно ли как-то подключить его к проекту Rad Studio C++ Builder XE3 чтобы производить расчёты? Создам нормальный функциональный GUI, программу которая считывает введённые данные и посылает в *.m файл, после чего *.m файл делает расчёт и выводит график. З.Ы.: Библиотеки Matlab заранее установлены. Так что независимое приложение должно работать без самой среды Matlab. В частности расчёты должны производится и график тоже может выводится. З.Ы.Ы.: Хотел бы увидеть наглядный пример. Заранее спасибо!
0
|
|
| 21.10.2012, 21:53 | |
|
Ответы с готовыми решениями:
27
Как связать визуальную среду программирования с++ builder и matlab? Как связать визуальную среду программирования C++ builder и matlab? Как связать matlab и визуальную среду программирования ? |
|
67 / 67 / 10
Регистрация: 20.02.2012
Сообщений: 234
|
|
| 07.04.2013, 15:09 | |
|
0
|
|
|
9 / 9 / 0
Регистрация: 18.11.2011
Сообщений: 55
|
|
| 08.04.2013, 16:56 | |
|
В конце-концов заработало! Avazart, сначала прогнал ваш пример у себя - всё работает. Потом пытаюсь по аналогии с нуля написать (console application), всё подключить (.lib, .dll) - выдавало "не могу найти LIBMATLB.DLL", хотя всё это лежит как и у вас в папке Project-а. Решил проблему так - сравнил настройки Project-ов (вашего и моего) и оказалось, что у вас в поле Project->Options->Debugger->Working Directory стоит точка!!! Осталось понять, что это означает
0
|
|
|
|
|
| 08.04.2013, 17:00 | |
|
Точка - текущая директория.
Добавлено через 1 минуту Необходимо сохранять exe не в папках debug/release, а в папке с исходниками или другое решение
0
|
|
|
9 / 9 / 0
Регистрация: 18.11.2011
Сообщений: 55
|
||||||||||||||||
| 10.12.2013, 12:29 | ||||||||||||||||
|
Ок, продолжим...
Подскажите, плз!Создаю я динамическую библиотеку С/C++ через MATLAB Coder (настройки default): (в mex -setup использую "[2] Microsoft Visual C++ 2008 SP1 in C:\Program Files\Microsoft Visual Studio 9.0")
На выходе, помимо MPlus.dll (и манифеста) создаются много файлов .h и .с. Все их несу в корневой каталог моего проекта в XE2 и пытаюсь вызвать MPlus динамически-связанную в коде:
(В примере вроде как у структуры emxArray_real_T в data индексация начинается с 1, плюс надо кучу танцев с бубнон: задать размерность - emxInit_real_T(&x1, 2); проинициализировать - emxEnsureCapacity((emxArray__common *)x1, 0, (int32_T)sizeof(real_T));...;удалить - emxFree_real_T(&x1) .В RunTim-е на breakpoint-е уже на строке после вызова pShowMSum() видно, что mC содержит правильный ответ! Наверное происходит утечка памяти или ещё что-то, и при почти любом последующем действии появляется: "Project Progect1.exe raised exeption class $C0000092 with message 'floating point stack check at 0x00402e65'." Наверное нельзя так просто вызывать pShowMSum() и распоряжаться аргументами после вызова? Делал по этому примеру для своих матриц 2xn, те же проблемы, упростил его до ![]() Добавлено через 51 минуту Кажется решил, но как-то криво... Дело было в автоматизированном управлении памятью. Похоже, необходимо любую функцию MatLab-a обрамлять в mlfEnterNewContext(int nout, int nin, mxArray **, mxArray *) и mlfRestorePreviousContext(e.t.c.):
Не думал, что будет столько мороки с дин. .dll.
0
|
||||||||||||||||
|
9 / 9 / 0
Регистрация: 18.11.2011
Сообщений: 55
|
|
| 23.01.2014, 19:11 | |
|
Во общем, загорелся идеей (наработки есть) написать программку на С, которая по информации "из вне" (на самом деле "из внутри") будет вызывать и использовать функции из .dll, созданных матлабом. Идея проста: .dll кидается в окружение матлабовских файлов, необходимое для успешного её "прочтения", в run-time по некоторой информации формируется шаблон функции (с входными и выходными аргументами), которая потом вызывается из этой .dll. Время работы функции фиксируется. Соответственно можно тестировать время выполнения разных матлабовских функций + становится ясно какое окружение для их вызова нужно.
Только нужно оно кому-нибудь хоть?
0
|
|
| 23.01.2014, 19:30 | |
|
1
|
|
| 23.01.2014, 19:30 | |
|
переехать из консоли в визуальную среду Вопрос: можно ли во фри паскале сделать визуальную среду подскажите новичку простую среду длч програмирования на русском и желательно визуальную Как поставить пароль на папку, используя среду программирования Delphi 7? Как связать С++ builder и 3D max? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|