1. 最簡便的辦法:利用 matlabFunction(這個函式只適用於2009a及更新的版本)
syms x
y=exp(x)*x^2+x+1
g = matlabFunction(y)
2. eval + vectorize 函式:vectorize 的目的是將字串(string)表示式裡的 * / ^ 替換為 .* ./ .^ ,以支援向量運算。eval 執行該字串後得到函式控制代碼
g = eval(["@(x)",vectorize(y)])
3. str2func + vectorize 函式:str2func 函式可以直接將字串轉化為函式控制代碼
g = str2func(["@(x)",vectorize(y)])
4. str2num + vectorize
g = str2num(["@(x)",vectorize(y)])
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)])