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