Linq を使用して微積分の外積計算を実行しようとしており、以下のコードのパターンを把握しようとしています。
static void Main(string[] args)
{
double[] a = { 1, -1, -1 };
double[] b = {.5,1,.5};
var cross = from x in a
from y in b
select new {x,y};
List<double> LeftSide = new List<double>();
foreach (var c in cross) {
Console.WriteLine("x = " + c.x + " y = " + c.y);
double res = c.x * c.y;
Console.WriteLine("");
LeftSide.Add(res);
}
double i = LeftSide[5] - LeftSide[7];
double j = LeftSide[2] - LeftSide[6];
double k = LeftSide[1] - LeftSide[3];
Console.WriteLine("("+ i + "i) - (" + j + "j) +(" + k + "k)" );
Console.ReadLine();
}
a と b を交差結合したら、次の計算を実行する必要があります。
double i = LeftSide[5] - LeftSide[7];
double j = LeftSide[2] - LeftSide[6];
double k = LeftSide[1] - LeftSide[3];
これは機能し、目的の出力が得られます。より効率的に記述できることがわかっています。正しい方向に向けるために、何か提案を探しています。
注: これは宿題の質問ではありませんが、Calculus III Cross Products に関連しています。私はCS専攻です