202601061423
This commit is contained in:
@@ -920,7 +920,7 @@ namespace WindowsFormsApp6
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 计算标准偏差
|
/// 计算标准偏差
|
||||||
/// 计算方式:基于每个试样的平均芯吸速率计算标准偏差(组间标准偏差)
|
/// 计算方式:基于每个试样的平均芯吸速率计算标准偏差(组间标准偏差)
|
||||||
/// 结果:只有一个标准偏差值,合并显示在第1列
|
/// 结果:只有一个标准偏差值,只在试样1的第1列显示
|
||||||
///
|
///
|
||||||
/// 说明:
|
/// 说明:
|
||||||
/// - 每5个试样为一组,计算该组的标准偏差
|
/// - 每5个试样为一组,计算该组的标准偏差
|
||||||
@@ -938,9 +938,9 @@ namespace WindowsFormsApp6
|
|||||||
// 清空标准偏差行的所有数据
|
// 清空标准偏差行的所有数据
|
||||||
for (int i = 1; i <= currentSampleCount; i++)
|
for (int i = 1; i <= currentSampleCount; i++)
|
||||||
{
|
{
|
||||||
stdRow[$"试样{i}_1"] = 0.0;
|
stdRow[$"试样{i}_1"] = DBNull.Value;
|
||||||
stdRow[$"试样{i}_2"] = 0.0;
|
stdRow[$"试样{i}_2"] = DBNull.Value;
|
||||||
stdRow[$"试样{i}_3"] = 0.0;
|
stdRow[$"试样{i}_3"] = DBNull.Value;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 计算每组(5个试样)的标准偏差
|
// 计算每组(5个试样)的标准偏差
|
||||||
@@ -982,7 +982,7 @@ namespace WindowsFormsApp6
|
|||||||
stdDev = Math.Sqrt(sumOfSquares / (groupAverages.Count - 1));
|
stdDev = Math.Sqrt(sumOfSquares / (groupAverages.Count - 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
// 只在该组第1个试样的第1列显示标准偏差(合并显示效果)
|
// 只在该组第1个试样的第1列显示标准偏差,其他列保持DBNull
|
||||||
stdRow[$"试样{startSample}_1"] = Math.Round(stdDev, 2);
|
stdRow[$"试样{startSample}_1"] = Math.Round(stdDev, 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -992,7 +992,7 @@ namespace WindowsFormsApp6
|
|||||||
// 清空所有行的标准偏差列
|
// 清空所有行的标准偏差列
|
||||||
foreach (DataRow row in sampleDataTable.Rows)
|
foreach (DataRow row in sampleDataTable.Rows)
|
||||||
{
|
{
|
||||||
row[ROW_STD_DEVIATION] = 0.0;
|
row[ROW_STD_DEVIATION] = DBNull.Value;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 计算每组(5个试样)的标准偏差
|
// 计算每组(5个试样)的标准偏差
|
||||||
@@ -1037,7 +1037,7 @@ namespace WindowsFormsApp6
|
|||||||
stdDev = Math.Sqrt(sumOfSquares / (groupAverages.Count - 1));
|
stdDev = Math.Sqrt(sumOfSquares / (groupAverages.Count - 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
// 只在该组第1个试样的第1次测试行显示标准偏差(合并显示效果)
|
// 只在该组第1个试样的第1次测试行显示标准偏差,其他行保持DBNull
|
||||||
int targetRowIndex = (startSample - 1) * 3; // 第1次测试的行索引
|
int targetRowIndex = (startSample - 1) * 3; // 第1次测试的行索引
|
||||||
if (targetRowIndex < sampleDataTable.Rows.Count)
|
if (targetRowIndex < sampleDataTable.Rows.Count)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -455,29 +455,21 @@ namespace WindowsFormsApp6
|
|||||||
DataRow avgRow = dataTable.NewRow();
|
DataRow avgRow = dataTable.NewRow();
|
||||||
avgRow["序号"] = $"平均时间(s) 试样{startSample}-{endSample}";
|
avgRow["序号"] = $"平均时间(s) 试样{startSample}-{endSample}";
|
||||||
|
|
||||||
// 将平均值显示在该组的所有试样列(合并显示效果)
|
// 只在该组第一个试样列显示平均值,其他列设置为DBNull
|
||||||
for (int i = startSample; i <= endSample; i++)
|
for (int i = 1; i <= currentSampleCount; i++)
|
||||||
{
|
{
|
||||||
if (dataTable.Columns.Contains($"试样{i}"))
|
if (dataTable.Columns.Contains($"试样{i}"))
|
||||||
|
{
|
||||||
|
// 只在该组第一个试样列显示平均值
|
||||||
|
if (i == startSample)
|
||||||
{
|
{
|
||||||
avgRow[$"试样{i}"] = groupAvg;
|
avgRow[$"试样{i}"] = groupAvg;
|
||||||
}
|
}
|
||||||
}
|
else
|
||||||
|
|
||||||
// 其他列设置为空
|
|
||||||
for (int i = 1; i < startSample; i++)
|
|
||||||
{
|
|
||||||
if (dataTable.Columns.Contains($"试样{i}"))
|
|
||||||
{
|
{
|
||||||
avgRow[$"试样{i}"] = DBNull.Value;
|
avgRow[$"试样{i}"] = DBNull.Value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (int i = endSample + 1; i <= currentSampleCount; i++)
|
|
||||||
{
|
|
||||||
if (dataTable.Columns.Contains($"试样{i}"))
|
|
||||||
{
|
|
||||||
avgRow[$"试样{i}"] = DBNull.Value;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dataTable.Rows.Add(avgRow);
|
dataTable.Rows.Add(avgRow);
|
||||||
@@ -754,28 +746,21 @@ namespace WindowsFormsApp6
|
|||||||
avgAbsorption = 0;
|
avgAbsorption = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 将平均值显示在该组的所有试样列(合并显示效果)
|
// 只在该组第一个试样列显示平均值,其他列设置为DBNull
|
||||||
for (int i = startSample; i <= endSample; i++)
|
for (int i = 1; i <= currentSampleCount; i++)
|
||||||
{
|
{
|
||||||
if (dataTable.Columns.Contains($"试样{i}"))
|
if (dataTable.Columns.Contains($"试样{i}"))
|
||||||
|
{
|
||||||
|
// 只在该组第一个试样列显示平均值
|
||||||
|
if (i == startSample)
|
||||||
{
|
{
|
||||||
avgRow[$"试样{i}"] = avgAbsorption;
|
avgRow[$"试样{i}"] = avgAbsorption;
|
||||||
}
|
}
|
||||||
}
|
else
|
||||||
// 其他列设置为空
|
|
||||||
for (int i = 1; i < startSample; i++)
|
|
||||||
{
|
|
||||||
if (dataTable.Columns.Contains($"试样{i}"))
|
|
||||||
{
|
{
|
||||||
avgRow[$"试样{i}"] = DBNull.Value;
|
avgRow[$"试样{i}"] = DBNull.Value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (int i = endSample + 1; i <= currentSampleCount; i++)
|
|
||||||
{
|
|
||||||
if (dataTable.Columns.Contains($"试样{i}"))
|
|
||||||
{
|
|
||||||
avgRow[$"试样{i}"] = DBNull.Value;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
dataTable.Rows.Add(avgRow);
|
dataTable.Rows.Add(avgRow);
|
||||||
|
|
||||||
@@ -790,28 +775,21 @@ namespace WindowsFormsApp6
|
|||||||
maxAbsorption = 0;
|
maxAbsorption = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 将最大值显示在该组的所有试样列(合并显示效果)
|
// 只在该组第一个试样列显示最大值,其他列设置为DBNull
|
||||||
for (int i = startSample; i <= endSample; i++)
|
for (int i = 1; i <= currentSampleCount; i++)
|
||||||
{
|
{
|
||||||
if (dataTable.Columns.Contains($"试样{i}"))
|
if (dataTable.Columns.Contains($"试样{i}"))
|
||||||
|
{
|
||||||
|
// 只在该组第一个试样列显示最大值
|
||||||
|
if (i == startSample)
|
||||||
{
|
{
|
||||||
maxRow[$"试样{i}"] = maxAbsorption;
|
maxRow[$"试样{i}"] = maxAbsorption;
|
||||||
}
|
}
|
||||||
}
|
else
|
||||||
// 其他列设置为空
|
|
||||||
for (int i = 1; i < startSample; i++)
|
|
||||||
{
|
|
||||||
if (dataTable.Columns.Contains($"试样{i}"))
|
|
||||||
{
|
{
|
||||||
maxRow[$"试样{i}"] = DBNull.Value;
|
maxRow[$"试样{i}"] = DBNull.Value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (int i = endSample + 1; i <= currentSampleCount; i++)
|
|
||||||
{
|
|
||||||
if (dataTable.Columns.Contains($"试样{i}"))
|
|
||||||
{
|
|
||||||
maxRow[$"试样{i}"] = DBNull.Value;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
dataTable.Rows.Add(maxRow);
|
dataTable.Rows.Add(maxRow);
|
||||||
|
|
||||||
@@ -826,28 +804,21 @@ namespace WindowsFormsApp6
|
|||||||
stdDev = 0;
|
stdDev = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 将标准偏差显示在该组的所有试样列(合并显示效果)
|
// 只在该组第一个试样列显示标准偏差,其他列设置为DBNull
|
||||||
for (int i = startSample; i <= endSample; i++)
|
for (int i = 1; i <= currentSampleCount; i++)
|
||||||
{
|
{
|
||||||
if (dataTable.Columns.Contains($"试样{i}"))
|
if (dataTable.Columns.Contains($"试样{i}"))
|
||||||
|
{
|
||||||
|
// 只在该组第一个试样列显示标准偏差
|
||||||
|
if (i == startSample)
|
||||||
{
|
{
|
||||||
stdDevRow[$"试样{i}"] = stdDev;
|
stdDevRow[$"试样{i}"] = stdDev;
|
||||||
}
|
}
|
||||||
}
|
else
|
||||||
// 其他列设置为空
|
|
||||||
for (int i = 1; i < startSample; i++)
|
|
||||||
{
|
|
||||||
if (dataTable.Columns.Contains($"试样{i}"))
|
|
||||||
{
|
{
|
||||||
stdDevRow[$"试样{i}"] = DBNull.Value;
|
stdDevRow[$"试样{i}"] = DBNull.Value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (int i = endSample + 1; i <= currentSampleCount; i++)
|
|
||||||
{
|
|
||||||
if (dataTable.Columns.Contains($"试样{i}"))
|
|
||||||
{
|
|
||||||
stdDevRow[$"试样{i}"] = DBNull.Value;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
dataTable.Rows.Add(stdDevRow);
|
dataTable.Rows.Add(stdDevRow);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user