Matlab function in Simulink - calling variable from workspace
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Herbert Elisadebe
am 18 Dez. 2017
Kommentiert: Herbert Elisadebe
am 19 Dez. 2017
Hi
I want to make a function block/iterative block, which would calculate output value depending on argument and values of some variables from previous iteration. I mean I have, for example current angle, and I subract it from prevoius value of angle. So far I used following code for Matlab Function block:
function angle= calc_angle(counter,dir)
angle = prev_angle + dir*(counter - prev_counter);
prev_angle = angle;
prev_counter = counter;
But variables with prev prefix throws errors, because they are not declared. I tried to just declare it in workspace calling function initializing them, but it haven't helped. How to deal with such calculations? Is there any way to make previous iteration's values visible to function?
0 Kommentare
Akzeptierte Antwort
Jim Riggs
am 19 Dez. 2017
Try declaring the variables to be persistent at the top of the function, i.e.
persistent prev_angle prev_counter
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Configure Block Features for MATLAB S-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!