Matrix input/output to a Matlab function block in simulink
89 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Femi Bolarinwa
am 23 Okt. 2020
Kommentiert: Femi Bolarinwa
am 26 Okt. 2020
I need help creating a MATLAB function block in simulink. How do i make a MATLAB function block take in a large matrix from the workspace as its input (say a 1000 by 15 matrix), and also give its output as a matrix?
2 Kommentare
Mathieu NOE
am 23 Okt. 2020
hi
simply creat that input matrix in the workspace (do it from a maytlab script if needed)
if that matrix is "A" then in simulink use the constant bloc or DSP constant block with A as argument (edit box)
now what you do in the simulink file must be coherent with a matrix input ... not every bloc / function accept m by n size inputs.
Akzeptierte Antwort
Ameer Hamza
am 23 Okt. 2020
An alternate way is to create a parameter input in the MATLAB function block and give it the same name as the base workspace variable. Refer to Kaustubha's answer here: https://www.mathworks.com/matlabcentral/answers/40701-using-workspace-data-in-matlab-function-block-simulink and follow the instructions after "Besides TAB's solution, ...". Following link will also be helpful
A slight advantage is that you don't need to create an additional block in your model.
5 Kommentare
Ameer Hamza
am 26 Okt. 2020
You may try to change the solver mode from variable to discrete. Click the solver name at the lower right corner of the Simulink window. Click the solver setting button, and in the solver selection menu, select "Fixed-step".
Weitere Antworten (1)
Fangjun Jiang
am 23 Okt. 2020
Use a Constant block, specify the value as the variable in the base workspace, then you will be able to use it, no matter what is the size of the matrix. When you construct the code for the MATLAB Function block, click the "Edit Data" button and specify the size of input and output variable.
Siehe auch
Kategorien
Mehr zu Array and Matrix Mathematics finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!