wutflash
2008-09-24, 09:23
我自己编了一个小程序,矩阵a是通过循环赋值的,矩阵b是一个单位矩阵,结果就是让两个矩阵相加,但得相加的过程却不是对应元素相加,请教哪位高手帮忙解答一下,程序如下:
L = 4;
d = 2;
Array[a, {4, 4}];
Do[If[i != j, a[i, j] = (2*(i - j)*L/d)/(i - j), a[i, j] = L/d], {i,
4}, {j, 4}];
Array[a, {4, 4}] // MatrixForm
b = IdentityMatrix[4];
a + b // MatrixForm
运行结果如下:
1 + a, a, a, a
a, 1 + a, a, a
a, a, 1 + a, a
a, a, a, 1 + a
L = 4;
d = 2;
Array[a, {4, 4}];
Do[If[i != j, a[i, j] = (2*(i - j)*L/d)/(i - j), a[i, j] = L/d], {i,
4}, {j, 4}];
Array[a, {4, 4}] // MatrixForm
b = IdentityMatrix[4];
a + b // MatrixForm
运行结果如下:
1 + a, a, a, a
a, 1 + a, a, a
a, a, 1 + a, a
a, a, a, 1 + a