Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.
Если вы написали свой код в сотрудничестве с другими разработчиками или намереваетесь расширить или обновить его позже, необходимо протестировать код несколько раз. Тестирование части кода, каждый раз, когда вы или кто-то еще изменяетесь, это помогает вам гарантировать, что эта часть работает правильно. Когда вы планируете протестировать некоторую часть кода неоднократно, полезно записать тестовый скрипт и выполнить его каждый раз, когда необходимо протестировать код. Например, создайте следующую процедуру f
. Эта процедура принимает два числовых аргумента, a
и b
, сравнивает их и возвращает большее число:
f := proc(a:Type::Numeric, b:Type::Numeric) begin if a = b or a > b then return(a) else return(b) end_if end_proc:
Предположим, что вы, вероятно, обновите эту процедуру в будущем. Чтобы гарантировать, что процедура работает как ожидалось после всех возможных обновлений, запишите тестовый скрипт и выполните ее после любого обновления. Тестовый скрипт в MuPAD® включает набор одного тестов, созданных prog::test
функция. Смотрите Пишущие Один Тесты для получения дополнительной информации.
Каждый тестовый скрипт запускается с prog::testinit
функция и концы с prog::testexit
функция. Чтобы задать имя протестированной процедуры, используйте print(Unquoted, "testname")
после prog::testinit
. Это имя не влияет на саму протестированную процедуру. Это только появляется в протоколах испытаний, сгенерированных вашим тестовым скриптом.
Протестировать процедуру f
для различного выбора параметров запишите следующий тестовый скрипт и сохраните его в test-f.tst
файл. Тест не находит неожиданных результатов или ошибок. После того, как MuPAD выполняет тестовый скрипт, он генерирует протокол испытаний. Тестовый скрипт не требует никакого конкретного расширения файла. Можно использовать любое расширение файла, которое вы любите. Протокол испытаний показывает, что количество выполняет тесты, количество ошибок, с которыми сталкиваются при выполнении тестового скрипта, и время и память раньше выполняли тестовый скрипт:
//test-f.tst prog::testinit("f"); print(Unquoted, "function f that compares two numbers") prog::test(f(1, 1), 1): prog::test(f(1, 2), 2): prog::test(f(2, 1), 2): prog::test(f(100, 0.01), 100): prog::test(f(0.01, 100), 100): prog::test(f(-10, 10), 10): prog::test(f(2*I, 2*I), 2*I): prog::test(f(2 + I, 2 + I), 2 + I): prog::test(error(f(2 + I, 3 + I)), TrapError=1003): prog::test(error(f(x, y)), TrapError=1202): prog::test(error(f(x, x)), TrapError=1202): prog::testexit(f)
Info: 11 tests, 0 errors, runtime factor 0.0 (nothing expected)
Info: CPU time: 12.7 s
Info: Memory allocation 20452460 bytes [prog::testexit]
Если вы изменяете исходную процедуру f
, запустите тестовый скрипт, чтобы отловить любые неожиданные результаты:
f := proc(a:Type::Numeric, b:Type::Numeric) begin if a >= b then return(a) else return(b) end_if end_proc:
Вы не должны копировать тестовый скрипт в блокнот. Вместо этого можно выполнить тестовый скрипт что вы сохраненный в файл, не открывая файл. Выполнить тестовый скрипт:
Выберите Notebook > Read Commands, чтобы открыть диалоговое окно Read Commands.
Измените фильтр файла, чтобы показать тестовые файлы MuPAD или все файлы.
Перейдите к тестовому файлу, который содержит скрипт, и нажмите OK.
В качестве альтернативы используйте READPATH
переменная, чтобы задать путь к папке, которая содержит файл. Затем используйте read
функционируйте, чтобы найти и выполнить тестовый файл. Например, если вы сохраненный тестовый файл test-f.tst
в папке C:/MuPADfiles/TestScripts
, используйте следующие команды:
READPATH := "C:/MuPADfiles/TestScripts": read("test-f.tst")
Error in test function f that compares two numbers 7
Input: f(2*I, 2*I)
Expected: 2*I
Got: TrapError = [1003, "Error: Can't evaluate to boolean [_leequal];\r\n Evaluating: f"]
Near line: 9
Error in test function f that compares two numbers 8
Input: f(2 + I, 2 + I)
Expected: 2 + I
Got: TrapError = [1003, "Error: Can't evaluate to boolean [_leequal];\r\n Evaluating: f"]
Near line: 10
Info: 11 tests, 2 errors, runtime factor 0.0 (nothing expected)
Info: CPU time: 12.7 s
Info: Memory allocation 20452460 bytes [prog::testexit]
Несмотря на то, что изменение кажется разумным и безопасным, протокол испытаний показывает, что процедура больше не работает на равные комплексные числа. Вместо этого процедура выдает ошибку. Если вы не тестируете код, можно пропустить это изменение в поведении процедуры. Если это поведение ожидается, откорректируйте тестовый скрипт. В противном случае откорректируйте процедуру.