使用horzcat MATLAB
问题描述:
我尝试做一个脚本能够计算数字和数学符号的向量转换回一个字符串后的eval不工作使用horzcat MATLAB
使用im eval()函数和例子是
str = '4*2'
eval(str)
,其结果将是
ans =
8
但是当我创建成一个载体,转换回用horzcat结果将无法正常工作。
Number = [52 42 50]
Number1 = (mat2str(char(Number)))
str = horzcat(Number1)
eval(str)
,我会得到
ans =
4*2
谁能帮我找到这个脚本的问题?
答
您的问题是与mat2str
命令。这是不明智的。 char
命令已经返回一个字符串。你最终得到一个字符串中的字符串,所以当你在代码中使用eval
时,你只需显示内部字符串。
+0
非常感谢你,我试图随机化数学符号,但无法'弄清楚如何将其转换回字符串和计算。我认为'char'没有返回字符串,并且提供了'mat2str'命令。 – TIMAE
答
首先 - 你不应该使用eval
!
其次,在代码中不需要horzcat
和mat2str
。只写:
str = char(Number)
为什么你使用'eval'呢?这是一个非常糟糕的做法! – EBH