function函数嵌套 matlab_MATLAB函数句柄与符号表达式之间的转换

5b25a74b8b3b8be6b3eafa2c6dd60bd3.png

函数句柄

符号表达式

输入下述语句:

>> 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工作区查看:

d15202e7e1db993cbee5b898d96aeb56.png

此时 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
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值