|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
问题:有两个矩阵a和b,他们都是N*N*N的三维方阵,现在想让a第二维和b第三维元素分别相加得到一个一维的矩阵,
即a(1,1:N,1)+b(1,1,1:N),请问该如何实现?
如果直接a(1,1:N,1)+b(1,1,1:N),系统提示 Number of array dimensions must match for binary array op.
即两个矩阵不匹配。
我知道有几种实现的方法,但是都比较麻烦,想请教一下有没有更简单的办法?
1.用循环分别计算;
2.引入两个一维的中间变量,
tpa(1:N)=a(1,1:N,1);
tpb(1:N)=b(1,1,1:N);
tpa(1:N)+tpa(1:N);
3.用permute交换维度,但同样需要引入中间变量)
Thank you!!
[ 本帖最后由 eight 于 2007-11-15 11:26 编辑 ] |
|