4つの二重列で構成されるリストがあります
class MainE
{
class cPoint
{
public double a;
public double b;
public double c;
public double d;
};
static void Main()
{
List<cPoint> lst = new List<cPoint>();
lst .Add(new cPoint(){a =613, b = 261, c=163,d=345 });
lst .Add(new cPoint(){a =271, b = 251, c=363,d=444 });
lst .Add(new cPoint(){a =181, b = 232, c=473,d=643 });
lst .Add(new cPoint(){a =411, b = 322, c=643,d=742 });
lst .Add(new cPoint(){a =542, b = 225, c=853,d=141 });
lst .Add(new cPoint(){a =661, b = 242, c=293,d=241 });
lst .Add(new cPoint(){a =771, b = 232, c=143,d=243 });
lst .Add(new cPoint(){a =481, b = 212, c=353,d=444 });
lst .Add(new cPoint(){a =681, b = 214, c=233,d=514 });
lst .Add(new cPoint(){a =613, b = 241, c=123,d=355 });
lst .Add(new cPoint(){a =271, b = 451, c=363,d=444 });
lst .Add(new cPoint(){a =171, b = 232, c=463,d=743 });
lst .Add(new cPoint(){a =419, b = 362, c=653,d=782 });
lst .Add(new cPoint(){a =142, b = 227, c=853,d=149 });
lst .Add(new cPoint(){a =661, b = 282, c=943,d=241 });
lst .Add(new cPoint(){a =721, b = 282, c=444,d=343 });
lst .Add(new cPoint(){a =482, b = 292, c=323,d=424 });
lst .Add(new cPoint(){a =641, b = 219, c=123,d=514 });
}
}
式を適用して元のリストから2つのリストを作成したい(ここではベクトル用に書かれています):
1 つのリストでは、元のリストの各列に次の式を適用する必要があります
for (i = 1; i < N - 1; ++i)
{
output[i] = (input[i - 1] + input[i] + input[i + 1]) / 3;
}
2番目のリストは、元のリストの各列に次の式を適用する必要があります
for (i = 1; i < N ; ++i)
{
output[i] = input[i] - input[i - 1];
}
ここでの問題は、リスト内の前の要素と次の要素を取得する方法と、リストの2番目の要素から開始して最後の要素の前で終了する方法がわからないことです...
元のリストの各列に各数式を適用する方法は?