How can I make an object declared within a function persistent?
3 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
Guillaume
2015 年 6 月 16 日
I cannot reproduce the problem. Can you post the code that is creating the error?
採用された回答
Eric Lin
2015 年 6 月 17 日
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
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Code Generation and Deployment についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!