求助关于bsxfun函数使用

来源:matlab  › 交流  › 倒序浏览
  • 回答数

    0

  • 浏览数

    2588

  • 收藏数

    0

作者:馨染回忆 发表于 2018-12-6 14:42:49
跳转到指定楼层
请教各位大牛,我想用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

分享:
回复

使用道具

成为第一个回答人

高级模式 评论
您需要登录后才可以回帖 登录 | 立即注册 微信登录
关于作者
馨染回忆

用户组:新手上路

  • 主题

    9

  • 帖子

    19

  • 关注者

    1