В этом примере вы будете учиться как:
Автоматически сгенерируйте MEX-функцию из своего кода MATLAB®.
Задайте свойства входного параметра функции в командной строке.
Задайте верхние границы данных переменного размера.
Задайте входные параметры переменного размера.
Сгенерируйте генерацию кода, сообщают, что можно использовать, чтобы отладить код MATLAB и проверить, что это подходит для генерации кода.
Чтобы завершить этот пример, у вас должно быть основное знакомство с программным обеспечением MATLAB.
Чтобы завершить этот пример, необходимо установить следующие продукты:
MATLAB
MATLAB Coder™
Компилятор C
MATLAB CODER автоматически определяет местоположение и использует поддерживаемый установленный компилятор. Для текущего списка поддерживаемых компиляторов см. Поддерживаемые и Совместимые Компиляторы на веб-сайте MathWorks®.
Можно использовать mex -setup
, чтобы изменить компилятор по умолчанию. См. Компилятор Значения по умолчанию Изменения (MATLAB).
Для получения инструкций по установке Продуктов Mathworks обратитесь к документации по установке. Если вы установили MATLAB и хотите проверить, который установлены другие Продукты Mathworks, введите ver
в Окно Команды MATLAB.
Евклидово расстояние между точками p и q является продолжительностью линейного сегмента . В Декартовых координатах, если и являются двумя точками на Евклидовом n-пробеле, то расстоянием от p до q дают:
В одной размерности, расстоянии между двумя точками, x1 и x2, на строке просто абсолютное значение различия между двумя точками:
В двух измерениях расстояние между и :
Пример для этого примера вычисляет минимальное Евклидово расстояние между вектором - столбцом x и набором векторов - столбцов в матрице книги шифров cb. Функция имеет три выходных переменные:
y, вектор в cb с минимальным расстоянием до x
idx, индекс вектора - столбца в соответствии cb самому близкому вектору
расстояние, расстояние между x и y
Этот алгоритм вычисляет минимальное Евклидово расстояние между вектором - столбцом x и набором векторов - столбцов в матрице книги шифров cb. Алгоритм вычисляет минимальное расстояние до x и находит вектор - столбец в cb, который является самым близким к x. Это выводит этот вектор - столбец, y, его индекс, idx, в cb, и расстоянии, расстоянии между x и y.
Функциональная подпись для алгоритма:
function [y,idx,distance] = euclidean(x,cb)
Минимальное расстояние первоначально установлено в первый элемент cb.
idx=1; distance=norm(x-cb(:,1));
Минимальный расчет расстояния выполняется в for
- цикл.
for index=2:size(cb,2) d=norm(x-cb(:,index)); if d < distance distance=d; idx=index; end end
Вывод y установлен в минимальный вектор расстояния.
y=cb(:,idx);
Пример использует следующие файлы:
Пример файлы кода MATLAB для каждого шага примера.
Всюду по этому примеру вы работаете с файлами MATLAB, которые содержат простой Евклидов алгоритм расстояния.
Создайте скрипты, которые вы используете, чтобы скомпилировать ваш функциональный код.
Тестовые файлы, что:
Выполните функции предварительной обработки, например, настроив входные данные.
Вызовите заданную Евклидову функцию.
Выполните функции последующей обработки, например, строя график расстояний.
MAT-файл, который содержит входные данные в качестве примера.
Учебные файлы доступны в следующей папке: docroot\toolbox\coder\examples\euclidean
. Чтобы запустить пример, необходимо скопировать эти файлы в локальную папку. Для инструкций смотрите Копирование Файлов Локально.
Ввод | Имя | Описание |
---|---|---|
Функциональный код | euclidean01.m | Базовая реализация MATLAB Евклидова минимального алгоритма расстояния включая функции plot. |
euclidean02.m | Версия исходного алгоритма с директивой %#codegen . | |
euclidean03.m | Версия исходного алгоритма без функций построения графика. | |
euclidean04.m | Измененный алгоритм, который использует assert , чтобы задать верхние границы переменного N . | |
Создайте скрипт | build01.m | Создайте скрипт для euclidean03.m m. |
build02.m | Создайте скрипт для euclidean03.m , задающего двумерные входные параметры. | |
build03.m | Создайте скрипт для euclidean03.m , задающего входные параметры переменного размера. | |
build04.m | Создайте скрипт для euclidean04.m m. | |
Тестовый скрипт | test01.m | Начальная версия тестового скрипта, включает функции plot. Тесты MEX-функция euclidean03 . |
test02.m | Тестирует трехмерную MEX-функцию euclidean03 с двумерными входными параметрами. | |
test03.m | Тестирует двумерную MEX-функцию euclidean04 с двумерными входными параметрами. | |
test04.m | Тесты MEX-функция euclidean03_varsize с двумерными и трехмерными входными параметрами. | |
test05.m | Тесты MEX-функция euclidean04 , задающая, сколько элементов каждого входного параметра к процессу. | |
Matfile | euclidean.mat | Содержит входные данные, используемые алгоритмом. |
Скопируйте учебные файлы в папку локальных решений и создайте локальную рабочую папку:
Создайте локальную папку solutions
, например, c:\coder\euclidean\solutions
.
Изменитесь на папку docroot\toolbox\coder\examples
. В подсказке команды MATLAB войдите:
cd(fullfile(docroot, 'toolbox', 'coder', 'examples'))
Скопируйте содержимое подпапки euclidean
к вашей локальной папке solutions
, задав полный путь папки solutions
:
copyfile('euclidean', 'solutions')
solutions
теперь содержит полный набор решений для примера. Если вы не хотите выполнять шаги для каждой задачи в примере, можно просмотреть решения видеть, как код должен выглядеть.Создайте локальную папку work
, например, c:\coder\euclidean\work
.
Скопируйте следующие файлы от своей папки solutions
до вашей папки work
.
euclidean01.m
euclidean.mat
Файлы типа "build" build01.m
через build04.m
Тестовые скрипты test01.m
через test05.m
Ваша папка work
теперь содержит файлы, что необходимо начать с примером.
В этом примере вы работаете с функцией MATLAB, которая реализует Евклидов алгоритм минимизации расстояния. Вы делаете версию MATLAB этого алгоритма подходящей для генерации кода и тестируете получившуюся MEX-функцию, чтобы подтвердить функциональность модифицированного кода. Когда вы работаете через пример, вы совершенствовали дизайн алгоритма, чтобы принять входные параметры переменного размера.
Прежде, чем сгенерировать MEX-функцию, запустите исходную функцию MATLAB, чтобы видеть, как Евклидов алгоритм минимизации расстояния работает.
Установите свою текущую папку MATLAB на папку работы, которая содержит ваши файлы для этого примера.
cd work
Загрузите файл euclidean.mat
в свой MATLAB workspace.
load euclidean.mat
Матричный x
, содержащий 40000
трехмерные векторы.
Матричный cb
, содержащий 216
трехмерные векторы.
Алгоритм Евклида минимизирует расстояние между вектором - столбцом, x1
, взятым от матричного x
, и векторами - столбцами в матрице книги шифров cb
. Это выводит вектор - столбец в cb
, который является самым близким к x1
.
Создайте единственный входной вектор x1
из матричного x
.
x1=x(:,1)
Результатом является первый вектор от x
:
x1 = 0.8568 0.7455 0.3835
Используйте Алгоритм Евклида, чтобы найти вектор в матрице книги шифров cb
, который является самым близким к x1
. В подсказке команды MATLAB войдите:
[y, idx, distance]=euclidean01(x1,cb)
Алгоритм Евклида запускает и строит графики от x1
до каждого вектора в cb
.
После завершения алгоритма это выводит координаты точки y
, который является вектором в cb
, самом близком к x1
, вместе с индексом idx
x1
в cb
, и расстояние, distance
, между y
и x1
.
y = 0.8000 0.8000 0.4000 idx = 171 distance = 0.0804
Алгоритм вычисляет это точка, которую y=0.8000, 0.8000, 0.4000
, 171-й вектор в cb
, является самым близким, чтобы указать x1
. Расстоянием между y
и x1
является 0.0804
.
Куда Пойти Затем. Прежде, чем продолжить пример, необходимо настроить компилятор C, как детализировано в Подготовке компилятора C.
MATLAB CODER автоматически определяет местоположение и использует поддерживаемый установленный компилятор. Для текущего списка поддерживаемых компиляторов см. Поддерживаемые и Совместимые Компиляторы на веб-сайте MathWorks.
Можно использовать mex -setup
, чтобы изменить компилятор по умолчанию. См. Компилятор Значения по умолчанию Изменения (MATLAB).
Разработка для Генерации кода. Прежде, чем сгенерировать код, необходимо подготовить код MATLAB к генерации кода. Первый шаг должен устранить неподдерживаемые построения.
Проверка Проблемы во Время проектирования. Существует два инструмента, которые помогают вам обнаружить проблемы генерации кода во время проектирования: анализатор кода и инструмент готовности генерации кода.
Вы используете анализатор кода в редакторе MATLAB, чтобы проверить на проблемы кода во время проектирования, минимизируя ошибки компиляции. Анализатор кода постоянно проверяет ваш код, когда вы вводите его. Это сообщает о проблемах и рекомендует модификациям максимизировать производительность и поддерживаемость.
Чтобы использовать анализатор кода, чтобы идентифицировать предупреждения и ошибки, характерные для MATLAB для генерации кода, необходимо добавить директиву %#codegen
(или прагма) к файлу MATLAB. Полный список MATLAB для сообщений анализатора кода Генерации кода доступен в настройках Анализатора КОДА MATLAB. Смотрите Выполнение Отчета Анализатора кода (MATLAB) для получения дополнительной информации.
Анализатор кода не может обнаружить весь MATLAB для проблем генерации кода. После устранения ошибок или предупреждений, что анализатор кода обнаруживает, скомпилируйте свой код с MATLAB CODER, чтобы определить, имеет ли код другие проблемы соответствия.
Инструмент готовности генерации кода экранирует код MATLAB на функции и функции, которые не поддерживаются для генерации кода. Инструмент предоставляет отчет, который перечисляет исходные файлы, которые содержат неподдерживаемые функции и функции и индикацию относительно того, сколько работает, требуется, чтобы делать код MATLAB подходящим для генерации кода.
Можно получить доступ к инструменту готовности генерации кода следующими способами:
В браузере текущей папки — путем щелчка правой кнопкой по файлу MATLAB
В командной строке — при помощи функции coder.screener
.
В проекте — когда вы добавляете файл MATLAB к проекту, если MATLAB CODER обнаруживает проблемы генерации кода, он обеспечивает ссылку на отчет готовности генерации кода.
Проверка Проблемы во Время Генерации кода. Можно использовать codegen
, чтобы проверить на проблемы во время генерации кода. codegen
проверяет, что ваш код MATLAB подходит для генерации кода.
Когда codegen
обнаруживает ошибки или предупреждения, он автоматически генерирует сообщение об ошибке, которое описывает проблемы и обеспечивает ссылки на оскорбление код MATLAB. Для получения дополнительной информации см. Отчеты Генерации кода.
После генерации кода codegen
генерирует MEX-функцию, которую можно использовать, чтобы протестировать реализацию в MATLAB.
Проверка Проблемы во Время выполнения. Можно использовать codegen
, чтобы сгенерировать MEX-функцию и проверку на проблемы во время выполнения. В моделировании код, сгенерированный для ваших функций MATLAB, включает проверки на этапе выполнения. Отключение проверок на этапе выполнения и внешних вызовов обычно приводит к оптимизированному сгенерированному коду и более быстрому моделированию. Вы управляете проверками на этапе выполнения с помощью объекта настройки MEX, coder.MexCodeConfig
. Для получения дополнительной информации смотрите Проверки на этапе выполнения Управления.
Если вы сталкиваетесь с ошибками времени выполнения в своих функциях MATLAB, стек этапа выполнения появляется автоматически в Окне Команды MATLAB. Смотрите Ошибки времени выполнения Отладки.
Куда Пойти Затем. Следующий раздел примера, Делая Ваш Код Подходящим для Генерации кода, показывает вам, как использовать анализатор кода MATLAB и codegen
, чтобы сделать ваш код подходящим для генерации кода.
Создание Кода, Подходящего для Генерации кода. Чтобы начать процесс создания вашего кода MATLAB, подходящего для генерации кода, вы работаете с файлом euclidean01.m
. Этот файл является версией MATLAB трехмерного Евклидова примера, который строит график расстояний между входным вектором x
и каждым из векторов в матрице книги шифров cb
. Это определяет, какой вектор в cb
является самым близким к x
и выводит этот вектор, его положение в cb
и расстояние до y
.
В вашей папке работы откройте euclidean01.m
в редакторе MATLAB.
edit euclidean01.m
Файл открывается. Индикатор сообщения анализатора кода в правом верхнем углу редактора MATLAB является зеленым, который указывает, что анализатор кода не обнаружил ошибки, предупреждения или возможности для улучшения кода.
Включите проверку ошибок генерации кода путем добавления директивы компиляции %#codegen
после объявления функции.
function [ y, idx, distance ] = ...
euclidean01( x, cb ) %#codegen
Для получения дополнительной информации об использовании анализатора кода смотрите Выполнение Отчета Анализатора кода (MATLAB).
Поменяйте имя функции на euclidean02
и сохраните файл как euclidean02.m
в текущей папке.
Вы теперь готовы скомпилировать свой код с помощью codegen
, который проверяет, что код подходит для генерации кода. После генерации кода codegen
генерирует MEX-функцию, которую можно протестировать в MATLAB.
О codegen. Вы генерируете MEX-функции с помощью codegen
, функции, которая компилирует код MATLAB в MEX-функцию. codegen
также проверяет, что ваш код MATLAB подходит для генерации кода.
Используя codegen. Поскольку C использует статический контроль типов, codegen
должен определить свойства всех переменных в файлах MATLAB во время компиляции. Поэтому необходимо задать свойства всех входных параметров функции в то же время, что и вы компилируете файл с codegen
. Чтобы скомпилировать euclidean02.m
, необходимо задать размер входного вектора x
и матрица книги шифров cb
.
Скомпилируйте файл euclidean02.m
.
codegen -report euclidean02.m -args {x(:,1), cb}
По умолчанию codegen
генерирует MEX-функцию под названием euclidean02_mex
в текущей папке. Можно сравнить результаты выполнения MEX-функции с результатами выполнения оригинального кода MATLAB.
Опция -args
дает команду codegen
компилировать файл euclidean02.m
при помощи демонстрационных входных параметров x(:,1)
и cb
.
Опция -report
дает команду codegen
представлять отчет генерации кода.
Чтобы открыть Средство просмотра Отчета MATLAB CODER, нажмите, просматривают отчет.
Просмотрите код MATLAB для функции plot_distances
.
MATLAB CODER обрабатывает общие функции визуализации MATLAB как внешние. Это не генерирует код для этих функций. Вместо этого для MEX-функции это генерирует код, чтобы запустить функцию в MATLAB. Эти функции включают line
, grid
, clf
, axis
и pause
. Отчет подсвечивает внешние функции. Если функция не поддерживается для генерации кода и не обработана как внешняя, необходимо явным образом объявить, что функция является внешней при помощи coder.extrinsic
. Смотрите Внешние Функции.
Вы готовы начать следующую задачу в этом примере, Подтверждая MEX-функцию.
Протестируйте MEX-функцию, которую вы сгенерировали в Генерации MEX-функции Используя codegen, чтобы проверить, что это обеспечивает ту же функциональность как оригинальный код MATLAB. Вы запускаете MEX-функцию с теми же входными параметрами, которые вы использовали в Выполнении оригинального кода MATLAB.
Выполнение сгенерированной MEX-функции
Создайте единственный входной вектор x1
из матричного x
.
x1=x(:,1)
Результатом является первый вектор в x
:
x1 = 0.8568 0.7455 0.3835
Используйте MEX-функцию euclidean02_mex
, чтобы найти вектор в матрице книги шифров cb
, который является самым близким к x1
.
[y, idx, distance] = euclidean02_mex(x1,cb)
MEX-функция запускает и строит графики от x1
до каждого вектора в cb
. После завершения алгоритма это выводит координаты точки y
, который является вектором в cb
, самом близком к x1
, вместе с индексом idx
y
в cb
, и расстояние, distance
, между y
и x1
.
y = 0.8000 0.8000 0.4000 idx = 171 distance = 0.0804
Графики и выходные параметры идентичны сгенерированным с исходной функцией MATLAB. MEX-функция euclidean02_mex
функционально эквивалентна оригинальному коду MATLAB в euclidean01.m
m.
Под контролем для Проблем Во время выполнения, вы сгенерировали MEX-функцию для своего кода MATLAB путем вызова codegen
из командной строки MATLAB. В этой части примера вы используете скрипт сборки, чтобы сгенерировать вашу MEX-функцию и тестовый скрипт, чтобы протестировать его. Первый шаг должен изменить код в euclidean02.m
, чтобы переместить функцию построения графика в отдельный тестовый скрипт.
Почему скрипты сборки использования?
Почему тестовые скрипты использования?
Изменение Кода, чтобы Удалить Функцию plot. В файле euclidean02.m
m:
Удалите вызов plot_distances
.
Удалите локальную функцию plot_distances
.
Поменяйте имя функции на euclidean03
и сохраните файл как euclidean03.m
в текущей папке.
Используя Скрипт build01 Сборки. m . Затем вы используете скрипт сборки build01.m
, который компилирует euclidean03.m
с помощью codegen
. Используйте опцию -report
, которая сообщает, что codegen
, чтобы сгенерировать генерацию кода сообщает, что можно использовать, чтобы отладить код MATLAB и проверить, что это подходит для генерации кода.
Лучшая практика — генерация отчета генерации кода
Содержимое Файла типа "build" build01. m
В подсказке команды MATLAB войдите:
build01
codegen
запускает и генерирует MEX-функцию euclidean03_mex
в текущей папке. Вы готовы протестировать MEX-функцию euclidean03_mex
.
Используя Тестовый скрипт test01. m . Вы используете тестовый скрипт test01.m
, чтобы протестировать MEX-функцию euclidean03_mex
.
Тестовый скрипт:
Загружает тестовые данные из файла euclidean.mat
.
Запускает исходный файл MATLAB euclidean03.m
и строит график расстояний.
Запускает MEX-функцию euclidean03_mex
и строит график расстояний.
Содержимое Тестового скрипта test01. m
Выполнение Тестового скрипта. В подсказке команды MATLAB войдите:
test01
Выполнения тестового файла, строит графики от x1
до каждого вектора в cb
и выходные параметры:
Running MATLAB function euclidean03 y = 0.8 0.8 0.4 idx = 171 distance = 0.080374 Running MEX function euclidean03_mex y = 0.8 0.8 0.4 idx = 171 distance = 0.080374
Вы теперь готовы начать следующую задачу в этом примере, Изменяя Алгоритм, чтобы Принять Вводы Переменного Размера.
Почему Изменяют Алгоритм?. Алгоритм, который вы использовали до сих пор в этом примере, подходит только для входных параметров процесса, размерности которых совпадают с размерностями входных параметров в качестве примера, обеспеченных с помощью опции -args
. В этой части примера вы запускаете euclidean03_mex
, чтобы видеть, что это не принимает двумерные входные параметры. Вы затем перекомпилировали свой код с помощью двумерных входных параметров в качестве примера и тестируете получившуюся MEX-функцию с двумерными входными параметрами.
О сборке и тестовых скриптах
Выполнение сборки и тестовых скриптов
Запустите тестовый скрипт test02.m
, чтобы протестировать euclidean03x
с двумерными входными параметрами.
test02
MATLAB сообщает об ошибке при указании, что MEX-функция не принимает двумерные переменные для входного параметра cb
.
MATLAB expression 'x' is not of the correct size: expected [3x1] found [2x1]. Error in ==> euclidean03
Чтобы обработать двумерные входные параметры, необходимо перекомпилировать код, предоставляющий двумерные входные параметры в качестве примера.
Запустите файл типа "build" build02.m
, чтобы перекомпилировать euclidean03.m
с двумерными входными параметрами.
build02
codegen
компилирует файл и генерирует MEX-функцию euclidean03_2d
в текущей папке.Запустите тестовый файл test03.m
, чтобы запустить получившуюся MEX-функцию euclidean03_2d
с двумерными входными параметрами.
В подсказке команды MATLAB войдите:
test03
y
в матричном cb
, который является самым близким к x2d
в двух измерениях.Running new 2-D version of MEX function y = 0 0.4 idx = 3 distance = 0.053094
Эта часть примера демонстрирует, как создать MEX-функции, чтобы обработать входные параметры с различными размерностями. Используя этот подход, вам была бы нужна библиотека MEX-функций, каждый подходящий только для входных параметров с заданными типами данных, размерностями и сложностью. Также можно изменить код, чтобы принять входные параметры переменного размера. Чтобы учиться как, смотрите Вводы Переменного Размера Определения.
Определение Вводов Переменного Размера. Исходная функция MATLAB подходит для многих различных входных параметров размера. Чтобы обеспечить эту ту же гибкость в вашем сгенерированном коде C, используйте coder.typeof
с параметром командной строки codegen
-args
.
coder.typeof(a,b,1)
задает входной параметр переменного размера с тем же классом и сложностью как a
и тот же размер и верхние границы как вектор размера b
. Для получения дополнительной информации смотрите, Задают Вводы Переменного Размера в Командной строке.
Скомпилируйте этот код с помощью файла типа "build" build03.m
m. Этот файл типа "build" использует coder.typeof
, чтобы задать входные параметры переменного размера к функции euclidean03
.
build03
codegen
компилирует файл без предупреждений или ошибок и генерирует MEX-функцию euclidean03_varsizex
в текущей папке.
Запустите получившуюся MEX-функцию с двумерным и затем трехмерными входными параметрами с помощью тестового файла test04.m
m.
В подсказке команды MATLAB войдите:
test04
Выполнения тестового файла и выходные параметры:
Running euclidean03_varsizex with 2-D inputs y = 0 0.4 idx = 3 distance = 0.053094 Running euclidean04_varsizex with 3-D inputs y = 0.6 0.8 0.2 idx = 134 distance = 0.053631
В этой части примера вы изменяете алгоритм, чтобы вычислить только расстояние между первыми элементами N
данного векторного x
и первыми элементами N
каждого вектора - столбца в матричном cb
.
Чтобы изменить Евклидов минимальный алгоритм расстояния, euclidean03.m
, чтобы разместить изменения в размерностях, по которым можно вычислить расстояния:
Обеспечьте новый входной параметр, N
, чтобы задать число элементов, чтобы рассмотреть. Новая функциональная подпись:
function [y,idx,distance] = euclidean03(x,cb,N)
Задайте верхнюю границу для переменного N
с помощью assert
. Добавьте эту строку после объявления функции.
assert(N<=3);
Значение верхней границы должно соответствовать максимальному количеству размерностей матричного cb
. Если вы не задаете верхнюю границу, ошибка границ массивов происходит, если вы запускаете MEX-функцию со значением для N
, который превышает количество размерностей матричного cb
. Для получения дополнительной информации смотрите, Задают Верхние границы для Массивов Переменного Размера.
Измените строку кода, которая вычисляет начальное расстояние, чтобы использовать N
. Замените строку:
distance=norm(x-cb(:,1));
distance=norm(x(1:N)-cb(1:N,1));
Измените строку кода, которая вычисляет каждое последовательное расстояние, чтобы использовать N
. Замените строку:
d=norm(x-cb(:,index));
d=norm(x(1:N)-cb(1:N,index));
Поменяйте имя функции на euclidean04
и сохраните файл как euclidean04.m
в текущей папке.
Скомпилируйте этот код с помощью файла типа "build" build04.m
m.
В подсказке команды MATLAB войдите:
build04
codegen
компилирует файл без предупреждений или ошибок и генерирует MEX-функцию euclidean04x
в текущей папке.
Запустите получившуюся MEX-функцию, чтобы обработать первые два элемента входных параметров x
и cb
, затем обработать все три элемента этих входных параметров. Используйте тестовый файл test05.m
m.
В подсказке команды MATLAB войдите:
test05
Выполнения тестового файла и выходные параметры:
Running euclidean04_mex for first two elements of inputs x and cb y = 0.8 0.8 0 idx = 169 distance = 0.078672 Running eucidean04_mex for three elements of inputs x and cb y = 0.8 0.8 0.4 idx = 171 distance = 0.080374
Поддержите свой код MATLAB, прежде чем вы измените его.
Выберите соглашение о присвоении имен для своих файлов и сохраняйте временные версии часто. Например, этот пример использует суффикс двух-цифры, чтобы дифференцировать различные версии алгоритма фильтра.
Используйте скрипты сборки, чтобы создать ваши файлы.
Используйте тестовые скрипты, чтобы отделиться пред - и последующая обработка от основного алгоритма.
Используйте опцию -args
, чтобы задать входные параметры в командной строке.
Используйте функцию assert
MATLAB, чтобы задать верхние границы данных переменного размера.
Используйте опцию -report
, чтобы создать отчет генерации кода.
Используйте coder.typeof(a,b,1)
, чтобы задать входные параметры переменного размера.
К... | Смотрите... |
---|---|
Узнать, как сгенерировать код С из вашего кода MATLAB | |
Узнать, как интегрировать ваш код MATLAB с моделями Simulink® | Отслеживаемый объект Используя КОД MATLAB (Simulink) |
Узнайте больше об использовании генерации кода от MATLAB | |
Используйте данные переменного размера | |
Ускорьте фиксированную точку код MATLAB | |
Интегрируйте пользовательский код С в код MATLAB и сгенерируйте встраиваемый код | |
Интегрируйте пользовательский код С в функцию MATLAB | |
Сгенерируйте HDL из кода MATLAB |