zoukankan      html  css  js  c++  java
  • Matlab矩阵求导和求梯度有什么不同

    原始矩阵

    [egin{bmatrix} 1 & 3 & 4 \ 5 & 6 & 9 \ 2 & 7 & 8 \ end{bmatrix} ]

    求一阶导数

    [egin{bmatrix} 4 & 3 & 5 \ -3 & 1 & -1 \ end{bmatrix} ]

    默认的求导方式是相邻元素(按行或按列)做差,上面是按行做差得到结果。
    如果是求二阶导数,就是做一次差后,再做一次差。

    求梯度

    [egin{bmatrix} 2 & 1.5 & 1 \ 1 & 2 & 3 \ 5 & 3 & 1 \ end{bmatrix} ]

    求梯度的方式是 (当前列的梯度 = (当前列的右列-当前列的左列) ÷ 2)
    对于左边缘而言,(当前列的梯度 = (当前列的右列-当前列))
    对于右边缘而言,(当前列的梯度 = (当前列-当前列的左列))

    不同之处

    返回的矩阵的维度不同

    补充:对于符号求导,可以用下面的方法

    syms x1 x2 x3;
    A = [x1, x2^2, x3^3];
    for i = 1:length(A)
        B(1,i) = diff(A(i));
    end
    

  • 相关阅读:
    django文件上传
    django验证码
    auth模块---笔记
    css笔记
    django模板系统---2
    django模板系统
    Django中间件
    前端笔记---1
    我的django笔记---1
    DNS服务器的搭建
  • 原文地址:https://www.cnblogs.com/zhyantao/p/11095189.html
Copyright © 2011-2022 走看看