找回密码
 注册
Simdroid-非首页
查看: 100|回复: 2

求助:matlab生成等间隔递增矩阵的问题

[复制链接]
发表于 2009-10-11 21:28:22 | 显示全部楼层 |阅读模式 来自 辽宁沈阳
如果
a=1;b=4;
可以采用
linspace(a,b,N)
产生N*1维个等间隔向量
如果a和b是向量的话

a=[1;3];b=[7;8];
由于linspace不支持多维操作,
不用循环的话,如何生成一个
N*2的间隔递增向量
发表于 2009-10-11 22:23:42 | 显示全部楼层 来自 北京
Simdroid开发平台

  1. c = cell2mat(arrayfun(@(x,y) linspace(x,y,N),a,b,'UniformOutput',false))
复制代码
或者

  1. c = bsxfun(@times,(b-a)/(N-1),0:N-1)+repmat(a,1,N)
复制代码
后面的效率要比前面高。循环效率应该是介于这两个方法之间

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2009-10-12 07:49:48 | 显示全部楼层 来自 辽宁沈阳
十分感谢rocwoods 版主的回复!!
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-5-27 20:47 , Processed in 0.037558 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表