Как связать визуальную среду программирования C++ builder и matlab?21.10.2012, 21:53. Показов 7602. Ответов 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? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последнея моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
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 и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|