Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 将字符串解析为参数_Matlab - Fatal编程技术网

Matlab 将字符串解析为参数

Matlab 将字符串解析为参数,matlab,Matlab,我有一个这样的字符向量: string = 'a(0:2), b(3), c(rand(4, 5)*0.1)'; 我想使用这个字符数组作为函数的输入参数。然后,论点将是: a(0:2) b(3) c(rand(4, 5)*0.1) 如何将字符串解析为这些输入参数? 乍一看,可以使用“,”分隔符拆分字符串,但第三个参数显然会失败。一个简单的解决方案是使用拆分,如下所示: expressions = split(string, "), "); 然后在表达式中的每个字符串末尾添加。您基本上是在要

我有一个这样的字符向量:

string = 'a(0:2), b(3), c(rand(4, 5)*0.1)';
我想使用这个字符数组作为函数的输入参数。然后,论点将是:

a(0:2)
b(3)
c(rand(4, 5)*0.1)
如何将字符串解析为这些输入参数?
乍一看,可以使用“,”分隔符拆分字符串,但第三个参数显然会失败。

一个简单的解决方案是使用拆分,如下所示:

expressions = split(string, "), ");

然后在表达式中的每个字符串末尾添加。

您基本上是在要求一个解析器,这个问题太宽泛了。此外,即使您确实解析了字符串,您也将面临使用eval对其进行评估的问题。永远记住:eval是邪恶的——您的代码已经到了需要使用它的地步,请转过身来重新编写代码,这样您就不必这样做了!使用更好的方法通常更快、更易于维护。你是对的,它的范围可能太广了,因为它的解决方案类似于解析器。。。。并从每个字符串的开头去掉逗号/空格