• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

NEFCODER

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

2023-07-06 Matlab中符号和句柄之间的转换.md

2023-07-06 Matlab中符号和句柄之间的转换

Matlab符号函数函数句柄

在Matlab中我们通常使用diff函数求导,其中如果f是符号函数,diff也返回符号函数,那么符号函数和句柄之间如何转换呢?下面给出一些例子:

  1. f1 = @(x) sin(x); %函数句柄 

  2. syms x 

  3. f2 = sin(x); %符号 

  4. f3(x) = sin(x); %符号函数 

  5.  

  6. % 赋值计算方法 

  7. a = 15; 

  8. f1(a) %直接得到fx 

  9. f2(a) %报错 

  10. f2s = subs(f2,x,a) %替换符号,得到的还是符号 

  11. eval(f2s) %使用eval计算 

  12. f2d = diff(f2) %可以使用diff对符号求导,结果依旧是符号 

  13. f3e = f3(1) %可以直接带值,但返回的是符号,等同于subs 

  14. eval(f3e) 

  15. f3d = diff(f3) %使用diff求导返回符号函数 

  16.  

  17. %% 将函数句柄转为符号和符号函数 

  18. f1s = f1(x) %返回的符号 

  19. f2sf(x) = f1(x) %返回符号函数 

  20.  

  21. %% 将符号转为函数句柄和符号函数 

  22. f2h = matlabFunction(f2) 

  23. f2h(a) 

  24. f2sf(x) = f2; 

  25.  

  26. %% 将符号函数转为符号和函数句柄 

  27. f3h = matlabFunction(f3) 

  28. f3h(a) 

最后符号函数转为符号没有找到解决办法。

posted on 2023-07-06 19:46  XNEF  阅读(166)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3