# How schould the matlab function be to hold an signal between two values?

5 visualizaciones (últimos 30 días)
AF el 7 de Oct. de 2022
Comentada: AF el 7 de Oct. de 2022
I have a rising signal of a temperature. As long as the value has not reached a limit, e.g. 90%, "0" is to be displayed. If the value is reached, 1 is displayed. After that, the value can drop to e.g. 30% until "0" is output again. This is to achieve that the value remains between the two limits by the output of 0 and 1.
It is about a Simulink model and the code for it should be in a matlab-fct block.
I tried a lot with if-functions but i dont get it.
##### 0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

Les Beckham el 7 de Oct. de 2022
Editada: Les Beckham el 7 de Oct. de 2022
Perhaps something like this in a MATLAB Function block?
function out = determineStatus(in)
persistent out
if isempty(out)
out = 0; % initial output value
end
% implement the hysteresis
if out = 0 && in > 90
out = 1;
elseif out = 1 && in < 30
out = 0;
end
end
##### 4 comentariosMostrar 2 comentarios más antiguosOcultar 2 comentarios más antiguos
Les Beckham el 7 de Oct. de 2022
Editada: Les Beckham el 7 de Oct. de 2022
Of course you are right (== instead of =). Thanks for pointing that out. I thought about true/false vs. 1/0 but since OP specifically asked for 0 and 1, I went with that.
Also, good call on the relay block. I knew there was a simpler way to do this with a built-in block but I don't currently have Simulink to browse through the library.
Then feed B/A into the function and change 90 and 30 to 0.9 and 0.3.
AF el 7 de Oct. de 2022
Thanks @Les Beckham,
it's working.

Iniciar sesión para comentar.

### Más respuestas (1)

Fangjun Jiang el 7 de Oct. de 2022
The Relay block does exactly that.
##### 1 comentarioMostrar -1 comentarios más antiguosOcultar -1 comentarios más antiguos
AF el 7 de Oct. de 2022
Thanks!!!
Excactly what i was looking for

Iniciar sesión para comentar.

### Categorías

Más información sobre Sources en Help Center y File Exchange.

R2022a

### Community Treasure Hunt

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

Start Hunting!

Translated by