3个版本
0.1.2 | 2023年4月8日 |
---|---|
0.1.1 | 2023年4月7日 |
0.1.0 | 2023年4月6日 |
#851 在 数学 类别中
每月 31 次下载
11KB
183 行
一个简单的库,允许您使用任意大小和维度的矩阵,并像常规旧向量一样访问它们的内部。NdMatrix提供了一种灵活的数据结构,用于任何数据,具有基本的算术运算(感谢num_traits!)有关更多信息,请查看github上的Docs.md
文件。
可以使用matrix!
宏轻松初始化矩阵
//dimensions, type, default
let matrix = matrix!([10,10,10]; usize, 15);
然后可以使用坐标或向量的绝对索引访问
let value1 = matrix.pos(vec![3,2,4])?;
let value2 = matrix.nth(15)?;
这种设置使得通过矩阵迭代变得简单,没有复杂的嵌套循环
for i in 0..matrix.len() {
let pos:Vec<usize> = matrix.nth_to_pos(i)?;
//do stuff with the position!
}
(现在也有了迭代器)
还提供了数值类型的算术运算
let mut matrix_a = matrix!([5,5]; usize, 10);
let matrix_b = matrix!([5,5]; usize, 10);
matrix_a.add(matrix_b);//adds 2 matrixes
matrix_a.const_add(15);//adds one value to every element of a matrix
add
、sub
、mul
和div
可以调用,以及它们的常数对应物。请注意,2个矩阵必须具有相同的大小,且mul
不是传统的“矩阵乘法”,它只是将每个元素相乘(即将推出)。
依赖项
~155KB