Как преобразовать строку в дескриптор функции в Matlab?

Мне нужно преобразовать строку как str='x^2+3' в функцию. Решение состоит в том, чтобы получить встроенную функцию f=inline(str), но она не будет поддерживаться в будущих версиях.

Обходной путь f=eval(['@(x)',f]), но он не кажется опрятным.

Функция str2func не работает, потому что для нее требуется просто имя существующей функции.

Ответ 1

Не работает ли следующее?

str = 'x^2+3';
f = str2func(['@(x)' str]);