我想计算一下:Matrix<float> * Matrix<double>
Matrix<float>大约有6M*3元素,如何将Matrix<double>转换为Matrix<float>,以便获得Matrix<float>结果。
发布于 2015-05-12 16:28:01
可以使用Map函数将双矩阵参数转换为浮动矩阵:
Matrix<double> m1 = Matrix<double>.Build.Random(6000000,3);
Matrix<float> m2 = m1.Map(x => (float)x);或者另一种
Matrix<float> m2 = m1.Map(Convert.ToSingle);发布于 2015-05-12 15:29:26
下面是如何将双数组转换为浮点数数组,然后只需将矩阵转换为数组,反之亦然
public static float[][] Convert(double[][] mtx)
{
var floatMtx = new float[mtx.Length][];
for (int i = 0; i < mtx.Length; i++)
{
floatMtx[i] = new float[mtx[i].Length];
for (int j = 0; j < mtx[i].Length; j++)
floatMtx[i][j] = (float)mtx[i][j];
}
return floatMtx;
}
Or:
public static float[][] Convert(double[][] mtx)
{
return mtx.Select(i => i.Select(j => (float)j).ToArray()).ToArray();
}https://stackoverflow.com/questions/30195260
复制相似问题