111,126
社区成员
发帖
与我相关
我的任务
分享 public class Mat
{
public double[,] Datas;
public static Mat operator +(Mat a, Mat b)
{
var result = new Mat { Datas = new double[a.Datas.GetLength(0), b.Datas.GetLength(1)] };
for (var i = 0; i < a.Datas.GetLength(0); i++)
for (var j = 0; j < b.Datas.GetLength(1); j++)
{
double sum = 0;
for (var k = 0; k < a.Datas.GetLength(1); k++)
sum += a.Datas[i, k] * b.Datas[k, j];
result.Datas[i, j] = sum;
}
return result;
}
} var x = new Mat
{
Datas = new double[2, 3] { { 1, 2, 3 }, { 4, 5, 6 } }
};
var y = new Mat
{
Datas = new double[3, 2] { { 1.1, 2.2 }, { 3.3, 4.4 }, { 5.5, 6.6 } }
};
var result = x + y;
for (var i = 0; i < result.Datas.GetLength(0); i++)
{
for (var j = 0; j < result.Datas.GetLength(1); j++)
Console.Write("{0}\t", result.Datas[i, j]);
Console.WriteLine();
}var t= Inv(a);
var result= t*((b*t+c*a)*t;用简练的一个公式,就可以写出复杂的矩阵运算甚至解方程的过程来了。int[] a = { 1, 2, 3 };
int[] b = { 4, 5, 6 };
int[] result = (from x in a.Select((v, i) => new { v, i })
join y in b.Select((v, i) => new { v, i }) on x.i equals y.i
select x.v + y.v).ToArray();int[] a = { 1, 2, 3 };
int[] b = { 4, 5, 6 };
int[] result = a.Zip(b, (x, y) => x + y).ToArray(); // result = { 5, 7, 9 }
int[] i = {1,2,3,4,5};
int[] j = {6,7,8,9,10};
int[] k = new int[i.Length];
for(int m=0;m<i.Length;m++)
{
k[m] = i[m] + j[m];
}
foreach(int n in k)
{
Response.Write(n.ToString());
}