1. 最简便的办法:利用 matlabFunction(这个函数只适用于2009a及更新的版本)
syms x
y=exp(x)*x^2+x+1
g = matlabFunction(y)
2. eval + vectorize 函数:vectorize 的目的是将字符串(string)表达式里的 * / ^ 替换为 .* ./ .^ ,以支持向量运算。eval 执行该字符串后得到函数句柄
syms x
y=exp(x)*x^2+x+1
g = eval(['@(x)',vectorize(y)])
3. str2func + vectorize 函数:str2func 函数可以直接将字符串转化为函数句柄
syms x
y=exp(x)*x^2+x+1
g = str2func(['@(x)',vectorize(y)])
4. str2num + vectorize
syms x
y=exp(x)*x^2+x+1
g = str2num(['@(x)',vectorize(y)])