我解决了模糊建模的问题。
我需要在原始数据上构建图表。从.txt文件中,我读取了值。
图表构建如下:
列表中的最小值是+ =步骤所在的步骤(最大值减去最小值)/ 2/2,因为我有5个图表。
也就是说,我有3, 3.101, 3.12, 3.15, 3.2, 3.4, 3.45
如果我们说要使用5个元素,则3.2是最大值。我建立在一点上:最小值+ =步骤! =最大值。 现在如何反映阵列中的点?
(我使用谷歌翻译。)
List<double> lsDouble;
step = ((lsDouble[kount - 1] - lsDouble[0]) / 2) /2;
double sumX;
for(int i=0; i<kount;i++)
{
sumX = lsDouble[0];
chart1.Series[i].BorderWidth = 6;
for (int j = 0; j<kount;j++)
{
if (i == j) valY = 1;
else valY = 0;
chart1.Series[i].Points.AddXY(sumX, valY);
sumX += step;
}
}
我有:
我需要得到:
代码:
switch (kount)
{
case 2:
step = (lsDouble[kount - 1] - lsDouble[0]);
break;
case 3:
step = (lsDouble[kount - 1] - lsDouble[0]) / 2;
break;
case 5:
step = ((lsDouble[kount - 1] - lsDouble[0]) / 2) /2;
break;
}
double sumX;
for(int i=0; i<kount;i++)
{
sumX = lsDouble[0];
chart1.Series[i].BorderWidth = 6;
for (int j = 0; j<kount;j++)
{
if (i == j)
valY = 1;
else valY = 0;
chart1.Series[i].Points.AddXY(sumX, valY);
sumX += step;
//if(sumX==lsDouble[kount-1])
// chart1.Series[i].Points.AddXY(sumX, valY);
}
}