Error with simout = sim (...)

5 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 Save Run-Time Data from Simulation 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!