Форум программистов, компьютерный форум, киберфорум
Наши страницы
Matlab
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.61/466: Рейтинг темы: голосов - 466, средняя оценка - 4.61
lomt
449 / 275 / 13
Регистрация: 13.11.2012
Сообщений: 589
Записей в блоге: 1
1

Создание exe файла в MatLab

01.07.2013, 15:28. Просмотров 85951. Ответов 140
Метки нет (Все метки)

Много раз народ спрашивал, как сделать exe файл в MatLab и возможно ли запустить свою программу, не используя сам MatLab. Привожу простенький метод создания экзешников.

Для теста я взял программу подсчёта полож/отриц/нулей среди задаваемых чисел с простейшим интерфейсом.
Создание exe файла в MatLab
)
Оформляем наш код как функцию и запускаем deploytool, во всплывающем окне выбираем стандартное приложение Windows и вводим название нашего проекта.
Создание exe файла в MatLab

Открывается наш проект. Здесь в поле main мы располагаем наш главный файл(функцию). В поле
вспомогательных файлов помещаются файлы с данными, к которым обращается программа, GUI файлы, функции, к которым в течение работы обращается главная программа или функции, не находящиеся в нужной директории, а также коды на C/C++, которые вы хотите скомпилировать и использовать в дальнейшем в вашем приложении. В нашем случаи есть только исполняющий файл-функция, поэтому это поле остаётся пустым.
Создание exe файла в MatLab

В разделе Package к стандартным создаваемым файлам добавляем установку MCR (MATLAB Component Runtime). Это полный набор dll-библиотек для поддержки работы языка MatLab. Для этого жмём на Add MCR и выбираем встраивание библиотек в пакет.
Создание exe файла в MatLab

Теперь создаём наш составленный проект, нажимая на кнопку Build, а потом создаем пакет вспомогательных файлов, нажимая на кнопку Package. После этого в исходной папке появится файл с разрешением .prj и установочный экзешник для библиотек.
Создание exe файла в MatLab

Запускаем экзешник и после разархивирования устанавливаем MCR.
Создание exe файла в MatLab

Теперь наш экзешник окончательно готов. Для теста закрываем MatLab и запускаем программу.
Создание exe файла в MatLab

Как видно, всё прекрасно работает. Добавлю, что созданный нами exe можно запускать и на компьютерах, где не установлен сам MatLab. Для этого требуется лишь установить MCR перед запуском программы. (установочный файл находится в папке проекта).
Код файл-функции:
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
function  Proga
clear all;close all;
name_peremennie={'Переменная 1:','Переменная 2:','Переменная 3:','Переменная 4:'};
peremennie_initial={'0','0','0','0'};
options.Resize='on';
options.WindowStyle='normal';
options.Interpreter='none';
Peremennie=inputdlg(name_peremennie,'Ввод переменных',1,peremennie_initial,options);
Pos_num=0;
Neg_num=0;
Zero_num=0;
for i=1:length(Peremennie)
    A(i)=str2num(Peremennie{i});
    if A(i)==0
        Zero_num=Zero_num+1;
    else
        if A(i)>0
          Pos_num=Pos_num+1;
        else
           Neg_num=Neg_num+1;
        end
    end
end
Answer1=cat(2,'Количество положительных переменных равно ',num2str(Pos_num));
Answer2=cat(2,'Количество отрицательный ',num2str(Neg_num));
Answer3=cat(2,'Количество нулей ',num2str(Zero_num));
msgbox({Answer1,Answer2,Answer3},'Ответ');
end
11
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2013, 15:28
Ответы с готовыми решениями:

Matlab gui открытие exe файла в программе
Такая роблема, когда откраваешь в .m файле то он запускает эти exe, но когда...

Создание exe файла
Подскажите,пожалуйста,как мне из созданного в Guide приложения создать ехе?...

Создание exe файла
Здравствуйте! Прочитал тему "Создание exe файла в MatLab", решил попробовать....

Создание exe-файла из GUI (GUIDE) приложения
В архиве форума не нашел ответ на вопрос о принципиальной возможности решения...

Exe файл matlab
Добрый вечер. На 32 разрядной системе (WinXP) стоит Matlab R2011b и студия...

140
lomt
449 / 275 / 13
Регистрация: 13.11.2012
Сообщений: 589
Записей в блоге: 1
03.07.2013, 12:42  [ТС] 21
MCR стоит?
0
Зосима
4939 / 3312 / 313
Регистрация: 02.04.2012
Сообщений: 6,208
Записей в блоге: 15
Завершенные тесты: 1
03.07.2013, 12:42 22
Dimka_rtf, аналогичная фигня

Добавлено через 10 секунд
lomt, стоит
0
lomt
449 / 275 / 13
Регистрация: 13.11.2012
Сообщений: 589
Записей в блоге: 1
03.07.2013, 12:44  [ТС] 23
хмммм, надо разобраться всё-таки с этим глюком
0
tvoretsmira
459 / 449 / 56
Регистрация: 28.05.2013
Сообщений: 699
03.07.2013, 12:46 24
Если скомпилировано на win32, то на win64 не пойдёт, не говоря о Linux.
0
Зосима
4939 / 3312 / 313
Регистрация: 02.04.2012
Сообщений: 6,208
Записей в блоге: 15
Завершенные тесты: 1
03.07.2013, 12:52 25

Не по теме:

бггг :jokingly: столько проблем из-за такой маненькой программки



Добавлено через 6 минут
tvoretsmira, тут хотя бы допилить, чтоб на win32 запускалось
0
tvoretsmira
459 / 449 / 56
Регистрация: 28.05.2013
Сообщений: 699
03.07.2013, 12:57 26
Для новых версий матлаба MCRinstaller можно бесплатно скачать и так же бесплатно установить с официального сайта http://www.mathworks.com/products/compiler/mcr/
А для старой версии матлаба R2011b MCR 7.16 надо прилагать к откомпилированому файлу. Откомпилированый файл не запустится если будет установлена не та версия Matlab Compiler Runtime.
1
Зосима
4939 / 3312 / 313
Регистрация: 02.04.2012
Сообщений: 6,208
Записей в блоге: 15
Завершенные тесты: 1
03.07.2013, 14:25 27
tvoretsmira, а если я откомпилирую с версией 7.10 и установлю MRC с сайта - программа запустится?
0
tvoretsmira
459 / 449 / 56
Регистрация: 28.05.2013
Сообщений: 699
03.07.2013, 16:12 28
Нет
0
lomt
449 / 275 / 13
Регистрация: 13.11.2012
Сообщений: 589
Записей в блоге: 1
03.07.2013, 16:17  [ТС] 29
Как и сказано вот здесь: http://www.mathworks.com/matlabcentral/newsreader/view_thread/249680
Для нормальной работы нужно полное соотвествие, причём что более старые, что более свежие версии не важно
0
MurenaVrn
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 19
03.07.2013, 19:57 30
Переставила MCRinstaller, приложение от lomt, компилируется и работает без проблем, моё всё равно не работает, точнее видимо не работают какие то конкретные функции, графические функции вывода работают, а вот расчёт нет
0
R2D2
898 / 807 / 112
Регистрация: 23.11.2012
Сообщений: 2,387
30.07.2013, 18:48 31
Ура, товарищи! Я сегодня скомпилил свой первый екзешик. Решение было близко. А именно здесь.
Файлы
0
Зосима
30.07.2013, 21:31
  #32

Не по теме:

Dimka_rtf, боюсь верховные админы не одобрят ссылку на файлопомойку, да и 360 МБ качать как-то жоско :pardon: :scratch:

0
lomt
449 / 275 / 13
Регистрация: 13.11.2012
Сообщений: 589
Записей в блоге: 1
31.07.2013, 00:23  [ТС] 33
Цитата Сообщение от Dimka_rtf Посмотреть сообщение
Ура, товарищи! Я сегодня скомпилил свой первый екзешик. Решение было близко. А именно здесь.
Файлы
А чем отличается метод компилирования от предложенного мной?
0
R2D2
898 / 807 / 112
Регистрация: 23.11.2012
Сообщений: 2,387
31.07.2013, 12:04 34
Цитата Сообщение от lomt Посмотреть сообщение
А чем отличается метод компилирования от предложенного мной?
Абсолютно ничем. Просто файл, который ты сбросил у меня упорно не запускался((
0
lomt
449 / 275 / 13
Регистрация: 13.11.2012
Сообщений: 589
Записей в блоге: 1
31.07.2013, 12:34  [ТС] 35
Цитата Сообщение от Dimka_rtf Посмотреть сообщение
Абсолютно ничем. Просто файл, который ты сбросил у меня упорно не запускался((
странно конечно...ну главное, что твой скомпилился!
0
AlexRPhys
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 7
31.07.2013, 15:38 36
На Matlab R2010b все работает как надо.
0
R2D2
898 / 807 / 112
Регистрация: 23.11.2012
Сообщений: 2,387
31.07.2013, 17:12 37
AlexRPhys, ты о компиляции или ты запускал то, что я скинул?
0
AlexRPhys
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 7
01.08.2013, 07:00 38
Я создал свой m. файл который строит графики и сделал из него exe.

Добавлено через 3 минуты
проделав конечно манипуляции которые описаны здесь
0
Зосима
02.08.2013, 19:50
  #39

Не по теме:

lomt, гляди, зернышки дают всходы! :)

0
lomt
449 / 275 / 13
Регистрация: 13.11.2012
Сообщений: 589
Записей в блоге: 1
05.08.2013, 10:52  [ТС] 40
Цитата Сообщение от Зосима Посмотреть сообщение
Не по теме:
lomt, гляди, зернышки дают всходы!

Не по теме:

Ага ага, это очень даже неплохо:)

0
05.08.2013, 10:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.08.2013, 10:52

Открытие файла Matlab 7.14 в Matlab 7.12
доброго всем вечера.такая вот проблемка.создал файл в матлабе,но в версии 7.14...

Открытие файлов .exe в matlab
можно ли открыть файл ехе в матлабе так, чтобы он показал код этой программы на...

Matlab-ский exe-шник не запускается
Всем привет! Просили с учёбой помочь и принесли программу сделанную в...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru