使用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 

谁能帮我找到这个脚本的问题?

+1

为什么你使用'eval'呢?这是一个非常糟糕的做法! – EBH

您的问题是与mat2str命令。这是不明智的。 char命令已经返回一个字符串。你最终得到一个字符串中的字符串,所以当你在代码中使用eval时,你只需显示内部字符串。

+0

非常感谢你,我试图随机化数学符号,但无法'弄清楚如何将其转换回字符串和计算。我认为'char'没有返回字符串,并且提供了'mat2str'命令。 – TIMAE

首先 - 你不应该使用eval

其次,在代码中不需要horzcatmat2str。只写:

str = char(Number)