函数句柄
符号表达式
输入下述语句:
>> f = @(x) 3*x.^4 - 16*x.^3 + 30*x.^2 - 24*x + 8;
syms x; y = f(x)
回车执行即得符号表达式
y =
3*x^4 - 16*x^3 + 30*x^2 - 24*x + 8
还可以通过MATLAB工作区查看:
此时 y 的类型为 符号类型(sym).
符号表达式
函数句柄
反过来方法更简单,因为我们这时只需要调用MATLAB自带函数 matlabFunction() 即可完成转换,接着上面的内容 ,继续输入:
>> F = matlabFunction(y)
执行可得
F =
包含以下值的 function_handle:
@(x)x.*-2.4e+1+x.^2.*3.0e+1-x.^3.*1.6e+1+x.^4.*3.0+8.0
这咋一看得到的函数句柄 F 跟我们之前写的 f 还不太像,不过仔细一看发现意义是一样的,只是写法上的区别。我们可以输入下列语句验证发现二者确实一样:
>> f(1) == F(1)
ans =
logical
1