1. 计算元素之间的差diff
(1)diff(X)
a)X为长为m的一维向量,
Y=[X(2)-X(1) X(3)-X(2) ··· X(m)-X(m-1)]
b)X为非空的、非向量的p-by-m矩阵,Y返回一个(p-1)-by-m的矩阵,
Y=[X(2,:)-X(1,:); X(3,:)-X(2,:); ··· X(p,:)-X(p-1,:)]
c)X是0-by-0的空矩阵,Y返回一个0-by-0的空矩阵
(2)diff(X,n)
递归地应用diff(X)操作n次,即diff(X,2)=diff(diff(X))
(3)diff(X,n,dim)
对X的第dim维递归地应用diff(X)操作n次。
2. 近似梯度gradient
(1)FX=gradient(F)
F是一个向量,返回F沿x轴的一维数值梯度,计算坚决为1
(2)[FX, FY]=gradient(F)
F是一个二维矩阵,返回二维数值梯度的x和y分量,计算间距为1
(3)[FX, FY, FZ]=gradient(F)
同上,返回F在多个维度上的梯度值
(4)[…]=gradient(F, h)
指定h为每个方向梯度计算的间距
(5)[…]=gradient(F, h1, h2, …)
为第i个方向的梯度计算指定间距为hi.
另:可视化例子
V=-2:0.2:2;
[x,y]=meshgrid(v);
z=x.*exp(-x.^2)-y.^2;
%创建坐标网格与高度z
[px, py]=gradient(z, .2, .2);
contour(v,v,z)%以等高线形式显示z
hold on
quiver(v,v,px,py)%以箭头形式显示z
hold off
3. 子空间夹角subspace
theta=subspace(A,B)=acos(abs(A’*B))
注意A与B不一定需要同样尺寸,不同尺寸的二者计算出来时高位空间中两个超平面的夹角。如
的
H=hadamard(8);
A=H(:,2:4);
B=H(:,5:8);
theta=subspace(A,8)
得到theta=1.5708,即pi/2。