一、差分与微分

  我自己的理解。

二、求解

  2.1 矩阵

  这就是matlab的计算结果.太小的话放大些:
c =
4 5 9
7 2 1
5 2 6
>> [x,y]=gradient(c)
x =
1.0000 2.5000 4.0000
-5.0000 -3.0000 -1.0000
-3.0000 0.5000 4.0000
y =
3.0000 -3.0000 -8.0000
0.5000 -1.5000 -1.5000
-2.0000 0 5.0000
  先看x,x就是矩阵的横向梯度,怎么求解的呢,第一列就是的数值就是第二列减去第一列的值除以1   比如-5=(2-7)/1.第2列就是第二列减去第一列的值加上第三列减去第二列的值再除以2,比如:-3=((2-7)+(1-2))/2.最后一列比较特殊,因为它之后没有其余列了,于是最后一列=最后一列减去倒数第二列除以1.比如-1=(1-2)/1.y的求解跟1就是一个性质了  。

  2.2 二元函数

  在上MATLAB课的时候,有学生问怎么用gradient函数求f=2x2+3y3的梯度啊,不懂得怎么写格式,试了很多次都不行.解答如下:
  在MATALB中,求梯度只能是求数值梯度,所以必须将函数f离散化,用差分代替微分,精度取决于差分步长,因为现在计算机速度足够快,所以差分可以取得足够小,也不影响计算速度和计算精度.方法如下:
 X=-6:0.6:6;   %计算区间是[-6 6],步长0.6
Y=X;
[x,y]=meshgrid(X,Y) %生成计算网格
f=2.*x.^2+3.*y.^3 %计算网格结点上的函数值
[Dx,Dy]=gradient(f) %用数值方法求函数梯度
quiver(X,Y,Dx,Dy) %用矢量绘图函数绘出梯度矢量大小分布
hold on
contour(X,Y,f) %与梯度值对应,绘出原函数的等值线图

  

Matlab计算矩阵和函数梯度的更多相关文章

  1. Matlab计算矩阵间距离

    夜深人静时分,宿舍就我自己,只有蚊子陪伴着我,我慢慢码下这段文字............ 感觉知识结构不完善:上学期看论文,发现类间离散度矩阵和类内离散度矩阵,然后百度,找不到,现在学模式识别,见了, ...

  2. matlab计算矩阵每列非0元素个数

    在统计分析中,有时候需要计算矩阵每列非0元素的个数,可以用以下方法: 先用find找到每列不为0的元素index,然后用count计数. 假设有矩阵A[M,N], 结果存在countZeros cou ...

  3. paper 120:计算距离矩阵的函数的pdist和pdist2函数

    matlab中自带的计算距离矩阵的函数有两个pdist和pdist2.前者计算一个向量自身的距离矩阵,后者计算两个向量之间的距离矩阵.基本调用形式如下: D = pdist(X) D = pdist2 ...

  4. matlab学习笔记 bsxfun函数

    matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...

  5. Matlab 计算大数的阶乘

    http://hi.baidu.com/dreamflyman/item/11e920165596280fd0d66d9f >> syms k;>> kfac=sym('k!' ...

  6. 有关CUBLAS中的矩阵乘法函数

    关于cuBLAS库中矩阵乘法相关的函数及其输入输出进行详细讨论. ▶ 涨姿势: ● cuBLAS中能用于运算矩阵乘法的函数有4个,分别是 cublasSgemm(单精度实数).cublasDgemm( ...

  7. Matlab调用C语言函数

    Matlab调用C语言函数 如果我有一个用C语言写的函数,实现了一个功能,如一个简单的函数:double add(double x, double y) { return x + y ;}现在我想要在 ...

  8. Matlab随笔之画图函数总结

    原文:Matlab随笔之画图函数总结 MATLAB函数画图 MATLAB不但擅长於矩阵相关的数值运算,也适合用在各种科学目视表示(Scientific visualization).本节将介绍MATL ...

  9. matlab中的eval函数使用

    matlab中的eval函数使用 在matlab的命令行窗口中输入help eval命令回车就可以看到eval函数的官方解释,大概的意思就是执行matlab中的表达式,计算expression表示的代 ...

随机推荐

  1. php输出函数 var_dump, dump,print,print_r 区别

    php输出函数 var_dump, dump,print,print_r 区别 周末有空就来整理下

  2. php qr生成二维码

    二维码就是用在平面上用特定的几何图形记录数据信息的,QR码是常见的一种二维码.推荐使用生成QR码的php类库PHP QR Code. 例子: <?php   ini_set('display_e ...

  3. ERROR 1045 (28000): Access denied for user root@localhost (using password:

    错误描述: Mysql中添加用户之后可能出现登录时提示ERROR 1045 (28000): Access denied for user的错误.删除user.user中值为NULL的,或更新NULL ...

  4. 第十章 管理类型(In .net4.5) 之 使用反射

    1. 概述 一个.net程序不仅包含代码和数据,还包含 元数据. 本章介绍如何应用attributes以及如何使用反射来获取它,还有如何使用CodeDom和expression trees来实现在运行 ...

  5. 从一个标准URL中提取文件的扩展名

    例如:http://www.sina.cn/abc/de.php?id=1  提出php 1. $url = 'http://www.sina.cn/abc/de.php?id=1'; $arr = ...

  6. 003-python基础-变量与常量

    一.变量的定义 变量就是用来在程序运行期间存储各种需要临时保存可以不断改变的数据的标示符,一个变量应该有一个名字,并且在内存中占据一定的存储单元,在该存储单元中存放变量的值. 二.变量的声明 #!/u ...

  7. python3.3中使用tornado.options.parse_config_file的时候,在windows下conf为utf-8时,报错的问题

    由于我的windows7下的默认编码是gbk 在调用tornado.options.parse_config_file时,内部代码为 with open(path) as f: exec_in(f.r ...

  8. lldb

    所有命令选择与input 值用  -- 区分 1 p/x 16 转16进制 https://sourceware.org/gdb/onlinedocs/gdb/Output-Formats.html ...

  9. MIFARE系列5《存储结构》

    Mifare S50把1K字节的容量分为16个扇区(Sector0-Sector15),每个扇区包括4个数据块(Block0-Block3),我们也将16个扇区的64个块按绝对地址编号为0~63,每个 ...

  10. [原创]从Oracle和Microsoft Sql Server迁移到PostgreSQL Plus Advanced Server

    一.了解PPAS的迁移方式1.在线迁移和离线迁移使用Migration Studio或Migration Toolkit直接向PPAS数据库进行对象定义和数据表中数据的迁移称为在线迁移,生成要迁移对象 ...