How can I make an object declared within a function persistent?
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Warren Koontz
el 16 de Jun. de 2015
Comentada: Warren Koontz
el 17 de Jun. de 2015
I have defined two handle classes for audio filters (LPcomb and APfilt). I would like to write a function to apply these filters to streaming audio on a block-by-block basis. So I declare the object variables to be persistent. In the "if isempty - end" block I try to instantiate these variables as objects of my classes. I get the following error message:
The following error occurred
converting from LPcomb to double:
Error using double
Conversion to double from LPcomb
is not possible.
So it seems that when you declare a variable to be persistent, it is declared as a double and cannot be instantiated as an object. How can I declare persistent objects in a function?
1 comentario
Guillaume
el 16 de Jun. de 2015
I cannot reproduce the problem. Can you post the code that is creating the error?
Respuesta aceptada
Eric Lin
el 17 de Jun. de 2015
As Guillaume notes, we'll need the code in question to help you further.
However, it is important to note that persistent variables are initialized as double arrays so a type change must first be performed if you would like the persistent variable to store non-double elements, as discussed in this answer: Trouble with persistent array of class objects
1 comentario
Más respuestas (0)
Ver también
Categorías
Más información sobre Code Generation and Deployment en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!