Accessing variables from workspace into user-created function block in Simulink
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Daniel
am 22 Dez. 2013
Kommentiert: Daniel
am 22 Dez. 2013
Good afternoon,
As the title suggests, I defined some variable say, x in the workspace that has a number.
Using MATLAB function, I am trying to import that variable (just once!) and as simulation progress, under
certain condition, I want to increment that variable. However, since the function does not 'see' the variable x,
I end up declaring that variable inside the MATLAB Function Block. However, this keeps initializing the variable
and thus, I cannot increment it.
I need help to resolve this problem!
0 Kommentare
Akzeptierte Antwort
Azzi Abdelmalek
am 22 Dez. 2013
You can declare your variable as persistent
function y=fcn(u)
persistent v
if isempty(v)
v=your_constant
end
v=v+increment
3 Kommentare
Azzi Abdelmalek
am 22 Dez. 2013
Bearbeitet: Azzi Abdelmalek
am 22 Dez. 2013
At time =0 , v takes the value your_constant. And each iteration the variable v will be incremented. persistent allows to remember the value of v
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Simulink Functions finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!