我遇到一个向量 x: Nx1 相对于另一个与 x 大小相同的向量 t(时间)的数值导数的问题。
我执行以下操作(以 x 被选为正弦函数为例):
t=t0:ts:tf;
x=sin(t);
xd=diff(x)/ts;
但答案 xd 是 (N-1)x1 并且我发现它不会计算与 x 的第一个元素相对应的导数。
还有其他方法可以计算这个导数吗?
您正在寻找数字gradient我假设。
t0 = 0;
ts = pi/10;
tf = 2*pi;
t = t0:ts:tf;
x = sin(t);
dx = gradient(x)/ts
这个函数的目的是不同的(向量场),但它提供了什么diff
不:输入和输出向量长度相等。
gradient
计算数据点之间的中心差。为
每行有 N 个值的数组、矩阵或向量,第 i 个值是
被定义为
端点处的梯度(其中 i=1 和 i=N)计算如下
端点值与下一个端点值之间的单侧差异
行内的相邻值。如果指定了两个或多个输出,
梯度还计算沿其他维度的中心差异。
与 diff 函数不同,gradient 返回一个具有相同值的数组
作为输入的元素数量。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)