// 将数组分成指定数量的部分
private static List<double[]> SplitArrayIntoParts(double[] array, int numParts)
{
List<double[]> result = new List<double[]>();
int totalLength = array.Length;
int partSize = totalLength / numParts; // 每一部分的基础大小
int remainder = totalLength % numParts; // 计算是否有剩余部分
int startIndex = 0;
for (int i = 0; i < numParts; i++)
{
// 如果有剩余,每部分分配一个额外的元素,直到分完
int currentPartSize = partSize + (remainder > 0 ? 1 : 0);
remainder--;
// 创建子数组
double[] part = new double[currentPartSize];
Array.Copy(array, startIndex, part, 0, currentPartSize);
result.Add(part);
// 更新下一个子数组的起始索引
startIndex += currentPartSize;
}
return result;
}
// 将数组分成 100 份,platenRadius是原始数组
List<double[]> platenRadiusList = SplitArrayIntoParts(platenRadius, 100);