How to change the input of a subsystem using open_system
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
There are two blocks in the model I designed: MATLAB Function and testSub.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1574637/image.png)
At this time, I would like to control the input of testSub using MATLAB Function.
So I designed the code as below.
function y = fcn(u)
coder.extrinsic("set_param");
coder.extrinsic("close_system");
coder.extrinsic("open_system");
set_param('untitled1/Subsystem/testSub','OpenFcn','');
open_system('untitled1/Subsystem/testSub','OpenFcn');
y=1;
I want to set input to 'u' in set_param, but is there any way?
help will be appreciated.
Thanx
2 Commenti
Risposta accettata
Angelo Yeo
il 25 Dic 2023
I understood that you want to input a signal to input port. You don't need to use set_param. You can use Data Import/Export functionality in Simulink. See the documentation below which has examples on how to implement them.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1576137/image.png)
Moreover, if you are to create test cases for Simulink models, you can consider using Simulink Test. You can author tests with shipped funcitonalities such as importing external file data for test cases, e.g., Excel spreadsheet. Please refer to the doc below for detailed information on how to create tests with user-defined input signals.
2 Commenti
Angelo Yeo
il 26 Dic 2023
Modificato: Angelo Yeo
il 26 Dic 2023
You can use variables from base workspace. This means you can always set your variables as you need and run simulation with the sim command in an m-file.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Inputs in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!