Для больше всего входных тестов вы пытаетесь минимизировать количество моментов времени. Данные сигнала, которые вы загружаете, включают выборки с пандусами и разрывами.
Обычно при импортировании данных о тесте, вы хотите минимизировать количество моментов времени. Тестовые данные фокусируются на разрывах в данных сигнала.
Создайте сигнал, который имеет пандусы и шаги. Другими словами, сигнал имеет один или несколько разрывов.
Создайте сигнал с помощью наименьшего количества возможных точек.
Имейте Simulink® решатель выполняется в заданных разрывах.
Чтобы импортировать этот сигнал в Simulink, используйте From Workspace, From File или блок Signal Editor, все из которых поддерживают обнаружение пересечения нулем.
Можно загрузить данные этих типов:
Simulink.SimulationData.Dataset
Массив
Simulink.SimulationData.Signal
Структура
Массив структур, содержащий данные для всех входных портов (не поддерживаемый блоком Signal Editor)
Пустая матрица — Использование пустая матрица для портов, для которых вы хотите использовать наземные значения, не имея необходимость создавать значения данных
Выражение времени (не поддерживаемый блоком Signal Editor)
Задайте временной вектор и значения сигналов, но задайте только временные шаги в точках, где форма выхода переходит. Для получения дополнительной информации об определении временного вектора, смотрите, Задают Данные Времени.
Используйте любой из форматов входных данных, описанных в Формах Входных данных, за исключением MATLAB® выражения времени.
Следующее является примером данных о тесте:
Следующие два примера используют эти данные о тесте.
Откройте модель ex_data_import_test_case_from_workspace
.
Включите обнаружение пересечения нулем. В диалоговом окне блока From Workspace выберите Enable zero-crossing detection. Обнаружение пересечения нулем позволяет вам получать разрывы точно.
Создайте структуру сигнала для теста. В каждом разрыве введите дублирующуюся запись во временной вектор, который генерирует нулевое пересечение и обеспечивает решатель переменного шага, чтобы взять временной шаг в это точное время. Для получения дополнительной информации смотрите, что Данные о Загрузке Используют От Блока Рабочей области.
Задайте var
структура, представляющая тест:
var.time = [0 1 1 5 5 8 8 10]; var.signals.values = [0 0 2 2 2 3 3 3]'; var.signals.dimensions = 1;
Чтобы импортировать структуру теста, в От диалогового окна блока Рабочей области, в параметре Data, задают var
.
Симулируйте модель. Блок Scope отражает данные о тесте.
Вместо того, чтобы использовать блок From Workspace, можно использовать блок Signal Editor для также:
Создайте сигнал в интерактивном режиме
Импортируйте сигнал из MAT-файла
Создайте модель с Signal Editor, Gain и блоками Scope.
Создайте структуру и сохраните ее в MAT-файле:
scenario = Simulink.SimulationData.Dataset; time = [0 1 1 5 5 8 8 10]; data = [0 0 2 2 2 3 3 3]'; scenario{1} = timeseries(data,time); scenario{1}.Name = 'var'; save var.mat scenario
Откройте диалоговое окно Signal Editor путем двойного клика по блоку Signal Editor.
В параметре Имени файла введите var.mat
.
В параметре Active scenario выберите scenario
. Нажмите OK.
Отображение блока Scope отражает данные о тесте из MAT-файла.