Filter löschen
Filter löschen

import constants to simulink

102 Ansichten (letzte 30 Tage)
ameen
ameen am 25 Feb. 2015
Kommentiert: Charles Collins am 6 Jun. 2020
I want to import some constants values from workspace to simulink.
For example i will write A=10, B=7, C=8 in an m.file then i will run it. So, it will be loaded to my work space.
How can i import them to Simulink ?? From workspace block give me an error message 'Invalid matrix-format ...'

Akzeptierte Antwort

Kelly
Kelly am 25 Feb. 2015
Bearbeitet: Kelly am 26 Feb. 2015
Hi,
Use a constant block in Simulink sources and use the variable name (A, B, C, ...) instead of a fixed value. I think with a from workspace block you need to have a Nx2 matrix variable with time in one column and corresponding value in the second column.
Edit:
If your constants are defined in the workspace then you can access them directly from Simulink. If you have A, B, and C, etc defined in the workspace you can use it in any block such as a gain block or a constant or a source block. For example:
% My init function to run before running my simulink simulation
A = 24;
B = 22;
C = .39294;
Then after running this file (you can use Callbacks to run it automatically when you start a simulation as Mischa has described) The variables are available in the workspace for Simulink to access them. Now as an example, I can have a "Constant" (look in "Sources" or "Commonly used Blocks") in my Simulation. I can double-click on it and simply type A or B or C and that block will output that value defined by the constant you enter. You can use the variable in any block that allows a parameter input like this.
Does that help?
Kelly
  2 Kommentare
ameen
ameen am 26 Feb. 2015
Thank you very much for your reply and help.
Charles Collins
Charles Collins am 6 Jun. 2020
Please do explain more. I have never been able to access workspace variables from SimuLink, and I have been doing this since 1990.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Mischa Kim
Mischa Kim am 25 Feb. 2015
Ameen, a standard approach is through callbacks. In your Simulink model go to > File > Model Properties > Model Properties, navigate to the Callbacks tab and add commands as necessary. See the documentation for more detail.
  3 Kommentare
Mischa Kim
Mischa Kim am 25 Feb. 2015
Bearbeitet: Mischa Kim am 25 Feb. 2015
You can simply assign the values for A, B, etc. in the InitFcn callback. Treat the text window just like you would work in the MATLAB command window. Alternatively, you can execute scripts, if you need to load more stuff.
Here is another doc.
ameen
ameen am 25 Feb. 2015
which block will use the defined variables in the InitFcn callback ?

Melden Sie sich an, um zu kommentieren.


Saburi Ashtekar
Saburi Ashtekar am 2 Feb. 2018
a=10 b=20

Kategorien

Mehr zu Model, Block, and Port Callbacks finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by