xjzuo 发表于 2007-3-15 16:30

请教:有没有简洁命令实现矩阵元素赋值

我现在有一个问题请教大家,虽可解决,但还没有想到简洁命令:
问题如下:
%%%%%%%%
已知:
a=rand(1,8);
b=zeros(4,4);
有没有简洁命令可以实现如下要求的矩阵元素赋值:
即:凡是b矩阵元素下标之和为偶数的元素,依次按行将a(1:8)赋值给b(i,j) ?
也即如何得到如下形式的b矩阵:
b=[a1   0   a2    0 ;
   0   a3    0    a4;
   a5    0    a6   0;   
   0   a7   0   a8];
其中a1~a8即为随机数a(1:8).

eight 发表于 2007-3-15 19:59

不知道下面的代码是否称得上“简洁”:lol
=ind2sub(,1:size(b,1)*size(b,2));
b(mod(c+d,2)==0)=a;
b'


[ 本帖最后由 ChaChing 于 2010-3-1 13:15 编辑 ]

xjzuo 发表于 2007-3-15 22:51

回复

不错. 赞一个!
比我用循环和 if 语句要简洁多了.
页: [1]
查看完整版本: 请教:有没有简洁命令实现矩阵元素赋值