我想从用户那里获取一个单元数组,其中包含我在 MATLAB 的应用程序设计器中设计的系统识别应用程序中每个传递函数的零点和极点的数量。
用户输入如下内容:
{[2,1], [1,0]; [1,0], [2,1]}
EditField
或TextArea
将此输入视为 char 数组或字符串,但我想将其重新转换为numbers单元格数组,而不是strings。这怎么可能?
我想从用户那里获取一个单元数组,其中包含我在 MATLAB 的应用程序设计器中设计的系统识别应用程序中每个传递函数的零点和极点的数量。
用户输入如下内容:
{[2,1], [1,0]; [1,0], [2,1]}
EditField
或TextArea
将此输入视为 char 数组或字符串,但我想将其重新转换为numbers单元格数组,而不是strings。这怎么可能?
您可以使用eval
评估字符串以获取结果数字。如果它具有可从您正在运行的工作区访问的数字、变量和函数,则此方法有效eval
。请参阅https://www.mathworks.com/help/matlab/ref/eval.html上的 eval 文档。如果表达式中有一个变量,例如,在基础工作区{[2,1], [1,0]; [1,0], a}
中a
定义,那么您需要使用evalin
. evalin
允许您指定需要计算表达式的工作区。
最后,如果它不是一个元胞数组并且只包含一个数字数组,那么str2num
也可以完成将字符串转换为数字的工作。