Error with simout = sim (...)

2 次查看(过去 30 天)
Tania Izquierdo
Tania Izquierdo 2016-11-14
回答: nick 2024-10-3
I have defined three signals with timeseries, then I want to simulate a model loading this three signals I have a error with the function simout = sim ('model', 'LoadExternalInput','on', 'ExternalInput','inp', 'ExternalInput','inp1','ExternalInput','inp2'); Error using model (line 41) The number of external inputs must be equal to the number of root-level input port blocks. Root-level input port blocks include Trigger and Enable blocks. The model contains 3 root-level input port blocks, but 1 external inputs were specified in Configuration Parameters -> Data Import/Export -> Input. I don't know why doesn't recognize the signals

回答(1 个)

nick
nick 2024-10-3
Hi Tania,
The error is due to the way format of specifying external inputs for Simulink model. In MATLAB R2016, you can specify multiple external inputs as a single concatenated variable, as shown:
inputData = [timeVector, inp.Data, inp1.Data, inp2.Data];
simout = sim('model', 'LoadExternalInput', 'on', 'ExternalInput', 'inputData');
You can refer to 'Model Parameters' in Simulink to learn more about 'ExternalInput'. You can access the documentation using the following command in MATLAB Command window:
doc Model Parameters

类别

Help CenterFile Exchange 中查找有关 Prepare Model Inputs and Outputs 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by