在MATLAB中求函数的导数

在MATLAB中求函数的导数,matlab,derivative,function-handle,Matlab,Derivative,Function Handle,是否可以将一个函数的句柄作为另一个函数的句柄得到导数 比如: 我知道如何找到一个符号函数的导数,但我不能把一个函数的句柄转换成一个符号函数 我是matlab新手,我找不到任何方法来做这件事。提前感谢。您可以获得近似函数: delta = 0.0001; d = @(x)( (fun1(x+delta) - fun1(x))./delta) 简短的回答是“否”。MATLAB不知道函数的内容在符号意义上是什么意思。您最好首先使用syms创建它 一个较长的答案可能是使用符号数学工具箱,如@A D

是否可以将一个函数的句柄作为另一个函数的句柄得到导数

比如:

我知道如何找到一个符号函数的导数,但我不能把一个函数的句柄转换成一个符号函数


我是matlab新手,我找不到任何方法来做这件事。提前感谢。

您可以获得近似函数:

 delta = 0.0001;
 d = @(x)( (fun1(x+delta) - fun1(x))./delta)
简短的回答是“否”。MATLAB不知道函数的内容在符号意义上是什么意思。您最好首先使用
syms
创建它

一个较长的答案可能是使用符号数学工具箱,如@A Danesh所建议,或者使用近似值,如@Andrey所建议

但是,如果始终使用多项式,则可以将系数存储为数组并使用以下函数:

  • polyval
    进行评估
  • conv
    乘法
  • deconv
    分割
  • polyder
    用于区分
  • polyint
    集成

    • 无法从函数句柄进行分析

      但是,如果你有符号数学工具箱,你可以派生符号函数,并根据结果创建一个函数句柄

      syms x 
      f = @(x) x^2 + 1; 
      diff(f,x)
      
      答复:

      看见
      syms x 
      f = @(x) x^2 + 1; 
      diff(f,x)
      
      2*x + 1