Я пытаюсь сделать скрипт, чтобы иметь возможность вычислить вектор чисел и математических символов для преобразования обратно в одну строку

Я использую функцию 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

Может кто-нибудь помочь мне найти проблему со сценарием?

0
TIMAE 28 Май 2017 в 12:57

2 ответа

Лучший ответ

Ваша проблема с командой mat2str. Это бесполезно. Команда char уже возвращает строку. В итоге получается строка в строке, поэтому, когда вы eval в своем коде, вы просто отображаете внутреннюю строку.

1
learnvst 28 Май 2017 в 11:10

Во-первых, вы не должны использовать eval!

Во-вторых, в вашем коде нет необходимости в horzcat и mat2str. Просто пиши:

str = char(Number)
0
EBH 28 Май 2017 в 11:06