Используйте свои собственные процедуры MuPAD

Примечание

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Чтобы преобразовать файл блокнота MuPAD в файл live скрипта MATLAB, смотрите convertMuPADNotebook. Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, несмотря на то, что существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.

Запишите процедуры MuPAD

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

Чтобы задать процедуру, используйте proc функция. Заключите код в begin и end_proc функции:

myProc:= proc(n)
begin
   if n = 1 or n = 0 then
     1
   else
     n * myProc(n - 1)
   end_if;
end_proc:

По умолчанию процедура MuPAD возвращает результат последней выполняемой команды. Можно обеспечить процедуру, чтобы возвратить другой результат при помощи return. В обоих случаях процедура возвращает только один результат. Чтобы получить несколько результатов процедуры, объедините их в список или другую структуру данных, или используйте print функция.

  • Если вы только хотите отобразить результаты и не должны использовать их в дальнейших расчетах, используйте print функция. С print, ваша процедура все еще возвращает один результат, но распечатывает промежуточные результаты на экране. Например, эта процедура распечатывает значение своего аргумента в каждом вызове:

    myProcPrint:= proc(n)
    begin
       print(n);
       if n = 0 or n = 1 then
          return(1);
       end_if;
       n * myProcPrint(n - 1);
    end_proc:
  • Если вы хотите использовать несколько результатов процедуры, используйте упорядоченные структуры данных, такие как списки или матрицы как возвращаемые значения. В этом случае результатом последней выполняемой команды является технически один объект, но это может содержать больше чем одно значение. Например, эта процедура возвращает список двух записей:

    myProcSort:= proc(a, b)
    begin
      if a < b then
        [a, b]
      else
        [b, a]
      end_if;
    end_proc:

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

Когда вы сохраняете процедуру, рекомендуется использовать дополнительный .mu. Для получения дополнительной информации смотрите Файлы Notebook и Программные файлы. Имя файла может отличаться от имени процедуры. Кроме того, можно сохранить несколько процедур в одном файле.

Шаги, чтобы взять прежде, чем вызвать процедуру

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

Считайте процедуры MuPAD

Если вы работаете в MuPAD Notebook и создаете отдельный программный файл, который содержит процедуру, используйте один из следующих методов, чтобы выполнить процедуру в блокноте. Первый подход должен выбрать Notebook> Read Commands из главного меню.

В качестве альтернативы можно использовать read функция. Вызов функции read(filename) поиски программного файла в этом порядке:

  1. Папки, заданные переменной окружения READPATH

  2. filename рассматриваемый как абсолютный путь

  3. Текущая папка (зависит от операционной системы),

Если вы хотите вызвать процедуру от Live Editor MATLAB, все еще необходимо выполнить ту процедуру прежде, чем вызвать ее. Смотрите Вызов Ваши Собственные Процедуры MuPAD.

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

В качестве альтернативы можно добавить процедуру MuPAD, чтобы запустить команды конкретного блокнота. Этот метод позволяет вам выполнить процедуру каждый раз, когда вы запускаете двигатель блокнота. Запуститесь команды выполняются тихо без любых видимых выходных параметров в блокноте. Можно скопировать процедуру в диалоговое окно, которое задает команды запуска, или присоедините процедуру как скрипт запуска. Для получения информации смотрите, Скрывают Строки кода.

Вызовите свои собственные процедуры MuPAD

Можно расширить функциональность, доступную в тулбоксе путем записи собственных процедур в языке MuPAD. Этот раздел объясняет, как вызвать такие процедуры в Окне Команды MATLAB.

Предположим, что вы записали myProc процедура, которая вычисляет факториал неотрицательного целого числа.

Сохраните процедуру как файл с дополнительным .mu. Например, сохраните процедуру как myProcedure.mu в папке C:/MuPAD.

Возвратитесь к Окну Команды MATLAB. Прежде, чем вызвать процедуру в командной строке MATLAB, введите:

read(symengine, 'C:/MuPAD/myProcedure.mu')

read команда читает и выполняет myProcedure.mu файл в MuPAD. После этого можно вызвать myProc процедура любым допустимым параметром. Например, вычислите факториал 15:

feval(symengine, 'myProc', 15)
ans =
1307674368000

Если ваша процедура MuPAD принимает аргументы вектора символов, заключите эти аргументы в два набора кавычек: двойные кавычки в одинарных кавычках. Одинарные кавычки подавляют оценку аргумента прежде, чем передать его процедуре MuPAD, и двойные кавычки позволяют MuPAD распознать, что аргумент является вектором символов. Например, эта процедура MuPAD преобразует вектор символов в нижний регистр и проверяет при возвращении, тот вектор символов изменяет его.

В Окне Команды MATLAB используйте read команда, чтобы читать и выполнить reverted.mu.

read(symengine, 'C:/MuPAD/reverted.mu')

Теперь используйте feval вызывать процедуру reverted. Чтобы передать аргумент вектора символов процедуре, используйте двойные кавычки в одинарных кавычках.

feval(symengine, 'reverted', '"Abccba"')
ans =
1
Для просмотра документации необходимо авторизоваться на сайте