Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2010-12-14
帖子: 1
声望力: 0 ![]() |
![]()
请教各位大牛,我想用bsxfun代替内层for循环,代码如下:
sequence = [1,2,3,4,5]; avg = @(i, j) mean(sequence(i:j)); for i = 1:5 for j = i+1:5 A(i,j) = avg(i,j); end B(i, i+1:5) = bsxfun(avg, i, i+1:5); end 运行结果如下,对于bsxfun的运行结果很不理解,求助大牛帮忙解释一下bsxfun替代for循环不成功呀? A = 0 1.5000 2.0000 2.5000 3.0000 0 0 2.5000 3.0000 3.5000 0 0 0 3.5000 4.0000 0 0 0 0 4.5000 B = 0 1.5000 1.5000 1.5000 1.5000 0 0 2.5000 2.5000 2.5000 0 0 0 3.5000 3.5000 0 0 0 0 4.5000 0 0 0 0 0 |
![]() |
![]() |