返回信息流条件:
一个元素全为零的矩阵: a = zeros(4);
一个长度为 4 的数组: b = [1 3 2 4];
问题:
现在我想利用b将a的4个行向量中b的元素对应的位置上的元素置1,前提是不用for循环。
具体一点,比如说a第一行向量就由[0 0 0 0] 改为[1 0 0 0];这个我知道是可以用a(b(1),b(1)) = 1;实现。
这是一条镜像帖。来源:北邮人论坛 / matlab / #10813同步于 2014/4/17
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖
Matlab小问题求助,在线等
wlhbanch
2014/4/17镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
你的意思是
a=[1 0 0 0
0 0 1 0
0 1 0 0
0 0 0 1];吗?
【 在 wlhbanch 的大作中提到: 】
: 条件:
: 一个元素全为零的矩阵: a = zeros(4);
: 一个长度为 4 的数组: b = [1 3 2 4];
: ...................
如果是我说的那种理解的话, 可以这样
a = repmat(1:4, 4, 1);
b = [1 3 2 4];
a = (a == repmat(b', 1, 4));
恩,没错~万分感谢~
【 在 z2642x 的大作中提到: 】
: 如果是我说的那种理解的话, 可以这样
: a = repmat(1:4, 4, 1);
: b = [1 3 2 4];
: ...................