复杂数组的总和
Sum of a Complex array
我有一些复杂数组,是这样创建的:
System.Numerics.Complex[] ValeurPixelsExperiment = new System.Numerics.Complex[132];
System.Numerics.Complex[] ValeurPixelsReference = new System.Numerics.Complex[132];
System.Numerics.Complex[] ValeurPixelsSumExperiment = new System.Numerics.Complex[1024];
System.Numerics.Complex[] ValeurPixelsSumReference = new System.Numerics.Complex[1024];
前两个数组填充了 Bitmap Couleur
中一系列像素颜色的蓝色分量。在这里,复数都有一个虚部 0。现在我希望最后两个数组的每个成员都是前两个数组中所有成员的总和(再一次,虚部将为 0),但是我如果不在我的循环中添加循环,我就找不到 "easy" 的方法,我不太喜欢这样。
我知道我可以使用 int 或 float 数字而不是复数,这就是我最初所做的,但由于我打算使用 AForge.NET 框架中的快速傅里叶变换函数,我需要我的数据为复数形式。所以我不能只使用 .Sum()
希望我说得足够清楚了!有人知道如何实现这一目标吗?
这是我的代码,其中包含我使用浮点数的剩余 .Sum(),它不起作用:
for (int i = 1; i < 1024; i++)
{
for (int j = 157; j < 288; j++)
{
ValeurPixelsExperiment[j - 156] = Couleur.GetPixel(i, j).B;
}
ValeurPixelsSumExperiment[i] = ValeurPixelsExperiment //.Sum(); I NEED HELP HERE
for (int j = 484; j < 615; j++)
{
ValeurPixelsReference[j - 483] = Couleur.GetPixel(i, j).B;
}
ValeurPixelsSumReference[i] = ValeurPixelsReference //.Sum(); AND HERE
}
Linq Sum()
不支持 Complex
项作为参数;我建议Aggregate
,例如:
// Aggeregate items in ValeurPixelsReference by summing them up
ValeurPixelsSumReference[i] = ValeurPixelsReference.Aggregate((s, a) => s + a);
我有一些复杂数组,是这样创建的:
System.Numerics.Complex[] ValeurPixelsExperiment = new System.Numerics.Complex[132];
System.Numerics.Complex[] ValeurPixelsReference = new System.Numerics.Complex[132];
System.Numerics.Complex[] ValeurPixelsSumExperiment = new System.Numerics.Complex[1024];
System.Numerics.Complex[] ValeurPixelsSumReference = new System.Numerics.Complex[1024];
前两个数组填充了 Bitmap Couleur
中一系列像素颜色的蓝色分量。在这里,复数都有一个虚部 0。现在我希望最后两个数组的每个成员都是前两个数组中所有成员的总和(再一次,虚部将为 0),但是我如果不在我的循环中添加循环,我就找不到 "easy" 的方法,我不太喜欢这样。
我知道我可以使用 int 或 float 数字而不是复数,这就是我最初所做的,但由于我打算使用 AForge.NET 框架中的快速傅里叶变换函数,我需要我的数据为复数形式。所以我不能只使用 .Sum()
希望我说得足够清楚了!有人知道如何实现这一目标吗?
这是我的代码,其中包含我使用浮点数的剩余 .Sum(),它不起作用:
for (int i = 1; i < 1024; i++)
{
for (int j = 157; j < 288; j++)
{
ValeurPixelsExperiment[j - 156] = Couleur.GetPixel(i, j).B;
}
ValeurPixelsSumExperiment[i] = ValeurPixelsExperiment //.Sum(); I NEED HELP HERE
for (int j = 484; j < 615; j++)
{
ValeurPixelsReference[j - 483] = Couleur.GetPixel(i, j).B;
}
ValeurPixelsSumReference[i] = ValeurPixelsReference //.Sum(); AND HERE
}
Linq Sum()
不支持 Complex
项作为参数;我建议Aggregate
,例如:
// Aggeregate items in ValeurPixelsReference by summing them up
ValeurPixelsSumReference[i] = ValeurPixelsReference.Aggregate((s, a) => s + a);