Error with simout = sim (...)

2 views (last 30 days)
Tania Izquierdo
Tania Izquierdo on 14 Nov 2016
Answered: nick on 3 Oct 2024
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

Answers (1)

nick
nick on 3 Oct 2024
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

Categories

Find more on Prepare Model Inputs and Outputs in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!