请问:
1) 目前有两个矩阵分别为
M1={{a1,1,1},{a2,1,2}...{an,1,n},{an1,2,1}...{ann,n,n}};
M2={{b1,10,1},{b2,10,2}......{bxx,x,x}};
x<n (M1的范围是包含M2的)
我希望当M2[[i,2]]=M1[[j,2]] 且 M2[[i,3]]=M1[[i,3]]时
M2[[i,1]]+M1[[j,1]] (头两个数字相加)
我目前想到的作法是:
ARed = {};
For[l = 1, l <= n^2, l++,
For[j = 1, j < total, j++;
If[M1[[l, 2]] == M2[[j, 2]],
If[M1[[l, 3]] == M2[[j, 3]],
ARed = Append[
ARed, {M1[[l, 1]] + M2[[j, 1]], M1[[l, 2]],
M1[[l, 3]]}]]]]]
但是我还想将M2没有的矩阵元而M1有的矩阵元放入ARed里面,例如:{a1,1,1}这个矩阵元
不知道有没有什么好办法?
2)Sort[{{a, 2, 4}, {c, 1, 4}, {d, 3, 5},{b,2,3}}, #1[[2]] < #2[[2]] &]
可以帮我排序第二个数字,但如果我想要排序第二个及第三个数字:
{c, 1, 4},{b,2,3},{a, 2, 4},{d, 3, 5}
当第二个数字一样时,选取第三个数字的大小排序,
不知道该怎么作呢?
3)有什么指令是可以直接查看一个矩阵的矩阵元数目吗?
谢谢!