step
Executa um passo de processamento de um objeto System.
Categoria: Programming > Classes
Sintaxe
y = step(obj, x)
Processa a entrada x e retorna a saída de um passo. Equivale a y = obj(x).
[y1, y2] = step(obj, x1, x2)
Passa várias entradas e coleta várias saídas, conforme o stepImpl da classe.
Descrição
Um objeto System é uma classe handle derivada de matlab.System, cujo trabalho é feito por stepImpl. A primeira chamada a step executa setupImpl, trava o objeto e depois executa stepImpl; as seguintes executam só stepImpl, de modo que o objeto guarda estado entre as chamadas, como o total acumulado de um contador.
step pode ser escrito como chamada de função no próprio objeto: y = obj(x) faz o mesmo. Para recomeçar sem descartar o objeto, chame reset; para destravá-lo, release.
Argumentos de entrada
obj- Um objeto System.
x, x1, x2- Argumentos de entrada, tantos quantos o
stepImpldeclara.
Argumentos de saída
y, y1, y2- Saídas retornadas por
stepImpl.
Exemplo
Processamento com estado
writelines([ ...
"classdef Counter < matlab.System", ...
" properties", " Total = 0", " end", ...
" methods (Access = protected)", ...
" function setupImpl(obj)", " obj.Total = 100;", " end", ...
" function y = stepImpl(obj, u)", " obj.Total = obj.Total + u;", " y = obj.Total;", " end", ...
" function releaseImpl(obj)", " disp('released')", " end", ...
" end", "end"], 'Counter.m');
c = Counter;
y1 = step(c, 5)
y2 = c(7)
y1 = 105
y2 = 112
O primeiro passo executa setupImpl (total 100) e soma 5; a segunda chamada, escrita como c(7), soma 7.