Выполните функции и создайте макросы

Если ваша функция MATLAB® готова быть развернутой, и вы уже создали свое дополнение и COM-компонент с Deployment Tool, следуйте за этим рабочим процессом, чтобы включить ваш встроенный COM-компонент в Microsoft Excel с помощью Функционального Мастера. Чтобы следовать за рабочим процессом в этом разделе эффективно, необходимо запустить Create Дополнение Excel из MATLAB.

Функциональный Мастер также позволяет вам итеративно тестировать, разрабатывать, и отлаживать свою функцию MATLAB. Используя этот сквозной рабочий процесс принимает, что вы находитесь все еще в процессе разработки вашей функции MATLAB для развертывания. Смотрите Сквозное Развертывание функции MATLAB для полных инструкций для этого рабочего процесса.

Смотрите Function Deployment Workflow Выбора для получения дальнейшей информации.

Ключевые задачи для конечного пользователя

ЗадачаСсылка
1. Установите функциональный мастер.Установка функционального мастера
2. Запустите функциональный мастер.Функциональный запуск мастера
3. Выберите опцию, чтобы включить ваш встроенный COM-компонент в Microsoft Excel.Выбор рабочего процесса для функций MATLAB, готовых к развертыванию
4. Задайте новую функцию MATLAB, которую вы хотите моделировать путем добавления его в Функциональный Мастер и устанавливающий области значений ввода и вывода.Определение функций, готовых выполниться
5. Протестируйте свою функцию MATLAB путем выполнения его с Функциональным Мастером.Функциональное выполнение
6. Создайте макрос.Макро-создание
7. Выполните макрос, вы создали использование Функционального Мастера.Макро-выполнение
8. Опционально осмотрите или измените код Microsoft® Visual Basic®, который вы сгенерировали с COM-компонентом. Опционально, присоедините макрос, который вы создали к кнопке GUI.Код Microsoft Visual Basic доступ (дополнительная усовершенствованная задача)

Что функциональный мастер может сделать для меня?

Функциональный Мастер позволяет вам передать Microsoft Excel® (Excel 2000 или позже) значения рабочего листа к скомпилированной модели MATLAB и затем возвратить образцовый выходной параметр к ячейке или области значений ячеек в рабочем листе.

Функциональный Мастер обеспечивает интуитивный интерфейс к рабочим листам Excel. Вам не нужны предыдущие знания Microsoft Visual Basic для Приложений (VBA) программирование.

Функциональный Мастер отражает любые изменения, которые вы вносите в рабочих листах, таких как выборы области значений. Вы также используете Функциональный Мастер, чтобы управлять размещением и выводом данных от функций MATLAB до рабочих листов.

Примечание

Функциональный Мастер в настоящее время не поддерживает sparse MATLAB и типы данных complex.

Установка функционального мастера

Прежде чем можно будет использовать Функциональный Мастер, необходимо сначала установить его как дополнение, которое доступно от Microsoft Excel.

После того, как вы установите Функциональный Мастер, запись, MATLAB Functions появляется как доступная дополнительная кнопка Microsoft Excel.

Используя Microsoft Excel 2010 или более новые версии Excel

  1. Кликните по вкладке File.

  2. На левой панели навигации выберите Options.

  3. В Окне параметров Excel, на левой панели навигации, выбирают Add-Ins.

  4. В Том, чтобы управлять выпадающим, выберите Excel Add-Ins и нажмите Go.

  5. В диалоговом окне Add-Ins нажмите Browse.

  6. Просмотрите к matlabroot/toolbox/matlabxl/matlabxl/arch и выберите FunctionWizard2007.xlam. Нажмите OK.

  7. В диалоговом окне Excel Add-Ins проверьте, что запись MATLAB Compiler Function Wizard выбрана. Нажмите OK.

Вкладка Home Ленты Microsoft Excel должна теперь содержать Функциональную мозаику Мастера. Смотрите вкладку Home Ленты Microsoft Office с Функциональным Установленным Мастером.

Используя Excel 2007

  1. Запустите Microsoft Excel, если он уже не запускается.

  2. Нажмите Office Button () и выберите Excel Options.

  3. На левой панели Окна параметров Excel нажмите Add-Ins.

  4. На правой панели Окна параметров Excel, select Excel Add-ins от Manage выпадающее поле.

  5. Нажмите Go.

  6. Нажмите Browse. Перейдите к matlabroot\toolbox\matlabxl\matlabxl\arch и выберите FunctionWizard2007.xlam. Нажмите OK.

  7. В диалоговом окне Excel Add-Ins проверьте, что запись MATLAB Compiler Function Wizard выбрана. Нажмите OK.

Используя Excel 2003

  1. Выберите Tools> Add-Ins из главного меню Excel.

  2. Если Функциональный Мастер был ранее установлен, Мастер Функции MATLAB Compiler появляется в списке. Выберите элемент и нажмите ОК.

    Если Функциональный Мастер не был ранее установлен, нажмите Browse и перейдите к папке matlabroot \toolbox\matlabxl\matlabxl. Выберите FunctionWizard.xla. Нажмите ОК, чтобы продолжить.

Функциональный запуск мастера

Запустите Функциональный Мастер одним из следующих способов. Когда мастер инициализировал, отображения диалогового окна Function Wizard Start Page.

Используя Microsoft Excel 2007 или более новые версии Excel

В Microsoft Excel, на ленте Microsoft Office, на вкладке Home, выбирают Function Wizard.

Вкладка Home ленты Microsoft Office с функциональным установленным мастером

Вы можете также Мастер функции доступа от вкладки File.

  1. Выберите File> Options> Add-Ins из главного меню Excel.

  2. Выберите Function Wizard.

Функциональное диалоговое окно начальной страницы мастера

Выбор рабочего процесса для функций MATLAB, готовых к развертыванию

После того, как вы установите и запустите Функциональный Мастер, сделайте следующее:

  1. От Функциональной начальной страницы Мастера выберите опцию I have an Add-in component that was built in MATLAB with the Deployment Tool that I want to integrate into a workbook.

  2. Нажмите OK. Функциональная Панель управления Мастера открывается включенной кнопкой Add Function.

    Функциональная панель управления мастера для Работы с функциями MATLAB, готовыми к развертыванию

Совет

Чтобы возвратиться к Функциональной начальной странице Мастера, нажмите Start Over.

Определение функций, готовых выполниться

  1. Задайте функцию, которую вы хотите выполнить к Функциональному Мастеру. Нажмите Add Function в области Set Up Functions Функциональной Панели управления Мастера. Диалоговое окно MATLAB Components открывается.

  2. В области Available Components диалогового окна MATLAB Components выберите имя своего компонента (xlmagic) от выпадающего поля.

  3. Выберите функцию, которую вы хотите выполнить (mymagic) от поля маркировал Functions for Class xlmagic.

  4. Нажмите Add Function. Диалоговое окно Function Properties открывается.

    Совет

    Область Function Syntax and Help, в диалоговом окне Function Properties, отображает первую текстовую строку справки (иногда названный H1 line) в функции MATLAB. Отображение этих комментариев в диалоговом окне Function Properties может быть полезным при развертывании новых или незнакомых функций MATLAB на конечных пользователях.

  5. Задайте свойства входного параметра можно следующим образом.

    1. На вкладке Input нажмите Set Input Data. Диалоговое окно Input Data for n открывается.

    2. Задайте Range или Value путем выбора подходящего варианта и ввода значения. Если аргумент относится к structure array (struct), выберите опцию This is a MATLAB structure array argument. Смотрите Работу с Массивами структур для получения информации о присвоении областей значений и значений к полям в массиве структур.

      Внимание

      Постарайтесь не выбирать области значений с помощью клавиш со стрелками. Если необходимо использовать клавиши со стрелками, чтобы выбрать области значений, применить необходимую фиксацию от сайта Microsoft: https://support.microsoft.com/kb/291110.

      Примечание

      Выберите опцию Auto Recalculate on Change, чтобы обеспечить Microsoft Excel, чтобы автоматически повторно вычислить данные об электронной таблице каждый раз, когда это изменяется.

    3. Нажмите OK.

    Совет

    Чтобы задать как MATLAB Compiler™ для дополнительных ячеек пробела указателей Excel (или ячеек, содержащих данные), смотрите Управление Значением Пустой ячейки.

  6. Задайте свойства выходного аргумента можно следующим образом.

    1. На вкладке Output нажмите Set Output Data. Диалоговое окно Output Data for y появляется, где y является именем выходной переменной, вы задаете свойства.

      Совет

      Можно также задать MATLAB Compiler к Auto Resize, Transpose или вывести данные в формате даты (Output as date). Для этого выберите подходящий вариант в диалоговом окне Argument Properties for y.

    2. Задайте Range. Поочередно, выберите область значений ячеек на вашем листе Excel; область значений будет вводиться для вас в поле Range.

      Внимание

      Постарайтесь не выбирать области значений с помощью клавиш со стрелками. Если необходимо использовать клавиши со стрелками, чтобы выбрать области значений, применить необходимую фиксацию от сайта Microsoft: https://support.microsoft.com/kb/291110.

    3. Выберите Auto Resize, если он уже не выбран.

    4. Нажмите Done в диалоговом окне Output Data for y.

    5. Нажмите Done в диалоговом окне Function Properties.

mymagic теперь появляется в списке Active Functions Функциональной Панели управления Мастера.

Управление значением пустой ячейки

Можно задать как пустые ячейки процессов MATLAB Compiler, позволив вам присвоить неопределенный или непредставленный (NaN, например) значения данных им.

Чтобы задать, как обработать пустые ячейки, сделайте следующее.

  1. Нажмите Options в диалоговом окне Input Data for N.

    Входное Окно параметров Преобразования открывается.

  2. Нажмите Treat Missing Data As выпадающее поле.

  3. Задайте или Zero или NaN (Not a Number), в зависимости от того, как вы хотите обработать пустые ячейки.

Работа с массивами структур

Чтобы присвоить области значений полям в массиве структур, сделайте следующее:

  1. Если вы уже не сделали так, выберите This is a MATLAB structure array argument в диалоговом окне Input Data for n и нажмите OK.

    Диалоговое окно Input Data for Structure Array Argument n открывается.

  2. Функциональный Мастер поддерживает Векторные и Двумерные массивы структур, организованные или в Поэлементно или в Плоская организация для обоих вводов и выводов.

    В диалоговом окне Input Data for Structure Array Argument n сделайте следующее:

    1. В области Structure Array Organization выберите Element by Element Organization или Plane Organization.

    2. Нажмите Add Field, чтобы добавить поля для каждого из ваших аргументов массива структур. Диалоговое окно Field for Structure Array Argument открывается.

  3. В диалоговом окне Field for Argument сделайте следующее:

    1. В поле Name задайте имя поля. Name, который вы задаете, должен совпадать с именем поля массива структур в вашей функции MATLAB.

    2. Задайте Range для поля.

      Внимание

      Постарайтесь не выбирать области значений с помощью клавиш со стрелками. Если необходимо использовать клавиши со стрелками, чтобы выбрать области значений, применить необходимую фиксацию от сайта Microsoft: https://support.microsoft.com/kb/291110.

    3. Нажмите Done.

Как поддерживаются Массивы структур.  MATLAB Compiler поддерживает один и двумерные массивы структур MATLAB.

Продукт преобразовывает данные, переданные в массивы структур в element-by-element organization или plane organization. См. Основы программирования MATLAB для получения дополнительной информации обо всех типах данных MATLAB, включая структуры.

Развертывание Массивов структур как Вводы и выводы.  Если вы - программист MATLAB и хотите развернуть функцию MATLAB с массивами структур в качестве аргументов ввода или вывода, создать макросы Microsoft Excel с помощью Функционального Мастера и передать их (с дополнением Excel и COM-компонентом) конечным пользователям. Если вы не можете сделать этого, сообщите своим конечным пользователям:

  • Какие аргументы являются массивами структур

  • Имена полей массивов структур

Используя Макросы с Массивами структур.  Макро-функция генерации MATLAB Compiler для дополнений Excel работает с массивами структур в качестве аргументов ввода или вывода. Смотрите Макро-Создание, если у вас есть функция MATLAB, вы готовы развернуться. Смотрите Дополнение Microsoft Excel и Макро-Создание Используя Функциональный Мастер, если вы используете Функциональный Мастер, чтобы создать вашу функцию MATLAB с нуля. Смотрите Function Deployment Workflow Выбора для получения дополнительной информации об обоих рабочих процессах.

Функциональное выполнение

В области Execute Functions Функциональной Панели управления Мастера нажмите Execute, чтобы запустить mymagic. Ячейки A1:E5 на листе Excel автоматически заполняются с выводом mymagic (магический квадрат размерности 5).

Макро-создание

При продолжении примера создайте макрос Microsoft Excel использование Функциональной Панели управления Мастера:

  1. В области Create Macros панели управления введите mymagic в поле Macro Name.

  2. Выберите местоположение того, где хранить макрос в Store Macro выпадающее поле.

  3. Введите краткое описание функциональности макроса в поле Description.

  4. Нажмите Create Macro.

    Макрос создается в текущей рабочей книге Excel.

Макро-выполнение

Запустите макрос, который вы создали в Макро-Создании путем выполнения одного из следующих, после сначала очищающиеся ячейки A1:E5 (которые содержат вывод функции Магического квадрата, которую вы запустили в Функциональном Выполнении).

Совет

Вы, возможно, должны включить соответствующие настройки безопасности перед рабочими макросами в Microsoft Excel. Для получения информации о макро-полномочиях и связанных сообщениях об ошибке, см. приложение Ошибок и Решений.

Используя Excel 2007 или более новые версии Excel

  1. В Microsoft Excel нажмите View > Macros > View Macros.

  2. Выберите mymagic из Macro name выпадающее поле.

  3. Нажмите Run. Ячейки A1:E5 на листе Excel автоматически заполняются с выводом mymagic.

Используя Excel 2003

  1. В Microsoft Excel нажмите Tools > Macro > Macros.

  2. Выберите mymagic из Macro name выпадающее поле.

  3. Нажмите Run. Ячейки A1:E5 на листе Excel автоматически заполняются с выводом mymagic.

Код Microsoft Visual Basic доступ (дополнительная усовершенствованная задача)

Опционально, можно хотеть получить доступ к коду Visual Basic или изменить его, в зависимости от экспертного знания программирования или доступности разработчика Excel. Если так, выполните эти шаги.

Из главного окна Excel откройте редактор Microsoft Visual Basic путем выполнения одного из следующих. выберите Tools> Macro> Visual Basic Editor.

Используя Excel 2007 или более новые версии Excel

  1. Нажмите Developer > Visual Basic.

  2. Когда Visual Basic Editor откроется в окне Project - VBAProject, дважды кликните, чтобы расширить VBAProject (mymagic.xls).

  3. Расширьте папку Modules и дважды кликните модуль Matlab Macros.

    Это открывает окно Visual Basic Code с кодом для этого проекта.

Используя Excel 2003

  1. Нажмите Tools > Macro > Visual Basic Editor.

  2. Когда Visual Basic Editor откроется в окне Project - VBAProject, дважды кликните, чтобы расширить VBAProject (mymagic.xls).

  3. Расширьте папку Modules и дважды кликните модуль Matlab Macros.

    Это открывает окно VB Code с кодом для этого проекта.

Отображение макроса к кнопке графический интерфейса пользователя или управляет (Необязательно)

Чтобы присоединить макрос к кнопке GUI, сделайте следующее:

  1. Нажмите Developer > Insert.

  2. Из меню Form Controls выберите значок Button (Form Control).

    Совет

    Наведите своя мышь на меню Form Controls, чтобы видеть различные метки управления.

  3. В диалоговом окне Assign Macros выберите макрос, вы хотите присвоить кнопку GUI и нажать OK.

Присоединение макроса к кнопке

Для получения дополнительной информации

Если вы хотите...Смотрите...
  • Выполните основные задачи Программиста MATLAB

  • Поймите, как продукты развертывания обрабатывают ваши функции MATLAB

  • Поймите, как продукты развертывания работают совместно

  • Исследуйте инструкции о записи развертываемого кода MATLAB

Запишите развертываемый код MATLAB
Смотрите больше примеров о создании дополнений и COM-компонентовСоздайте макросы из функций MATLAB
Узнать, как настроить и интегрировать COM-компонент вы созданный путем изменения кода Microsoft Visual BasicИнтегрируйте Компоненты с помощью Приложения Visual Basic
Для просмотра документации необходимо авторизоваться на сайте