c# - 内置函数 diff() 可用于 MathNet 中的向量吗?
问题描述
我是新手MathNet
并在C#.Net
.
有一个向量:
var X = new DenseVector(new double[] { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150 });
我需要找到 Y = **diff(X)**
计算相邻元素之间的差异,X
例如:
Y = [X(2)-X(1) X(3)-X(2) ... X(m)-X(m-1)]
是否有内置函数diff()可用MathNet
?我在MathNet.Numerics/Differentiate上进行了搜索,但它不可用。
解决方案
你是对的。它似乎不可用。但这里有一个简单的功能来实现这一点。
public MathNet.Numerics.LinearAlgebra.Double.DenseVector
Diff(MathNet.Numerics.LinearAlgebra.Double.DenseVector X)
{
var R = new MathNet.Numerics.LinearAlgebra.Double.DenseVector(X.Count - 2);
for (var i = 0; i <= X.Count - 2; i++)
R(i) = X(i + 1) - X(i);
return R;
}
推荐阅读
- python - Stackdriver Strace 使用 python 为一个请求嵌入跟踪
- tensorflow - 训练后去除高斯噪声层?
- python-3.x - TypeError:'int'对象在python中执行sum()函数时不可调用
- javascript - 比较数组时显示/隐藏项目
- javascript - 为什么我用 jQuery 添加的新段落在点击时没有任何作用?
- python - 将列表中的字符串转换为日期时间,导致 ValueError:格式不匹配。'"%d.%m.%Y %H:%M"'
- sql - 通过对表中的数据进行分组来创建新表
- qlikview - 根据另一个图表/字段/KPI 对 qlik 中的图表进行排序
- javascript - 通过 javascript 更改 css 属性的性能
- flutter - 在 Flutter 的 TextFormField 中键入键后如何解决键盘隐藏?