使用 Matlab 对象自动微分:自动计算函数的导数,而不使用有限差分近似。-matlab开发

时间:2024-06-19 14:22:53
【文件属性】:

文件名称:使用 Matlab 对象自动微分:自动计算函数的导数,而不使用有限差分近似。-matlab开发

文件大小:43KB

文件格式:ZIP

更新时间:2024-06-19 14:22:53

matlab

自动微分是一种使用链式规则计算函数导数的技术。 Matlab 对象可以轻松实现自动微分。 请注意,此程序包是在Matlab的较旧版本中实现的。 您可能需要针对较新版本对其进行编辑。 使用自动微分计算点 [1,2] 处 Rosenbrock 函数的值和导数的示例如下: x=adiff([1,2]); % 在 [1,2] 处创建自动微分对象罗森 = 100*(x(1)^2-x(2))^2+(x(1)-1)^2; % 计算 Rosenbrock 函数。 [x,dx] = adiffget(x); %检索值x和导数dx 然后 x = 100 和 dx = [-400,200]。 adiff 对象包括一个辅助函数,可以将任何没有导数的优化转换为有导数的优化。 例如,如果您有一个想要优化的函数 f,但它不计算导数,通常调用 fminunc('autodiff',x0,options,'f',


【文件预览】:
autodiff.zip

网友评论