首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向量化多站for循环

向量化多站for循环
EN

Stack Overflow用户
提问于 2014-12-23 16:55:45
回答 1查看 62关注 0票数 0

有没有一种方法可以将代码矢量化成与我下面的形式相同的代码?

代码语言:javascript
复制
for k=1:length(channel_cuttoffs)
    [b a] = butter(5,channel_cuttoffs(k));
    pulse = filtfilt(b,a,pulse);
    eyediagram(downsample(pulse,10),3)
end

pulse为10000x1,channel_cuttoffs为1x5。

EN

回答 1

Stack Overflow用户

发布于 2014-12-23 19:55:18

您可以使用arrayfun来向量化代码。

类似于:

代码语言:javascript
复制
[b a] = arrayfun(@(x), butter(5, x), channelcuttoffs);
pulse = arrayfun(@(x, y), filtfilt(x, y, pulse), b, a);

我不认为你可以对眼图做任何事情,因为它创建的是一个图形,而不是一个数字输出。

然而,应该注意的是,arrayfun速度很慢,更多细节请参见:arrayfun can be significantly slower than an explicit loop in matlab. Why?http://www.mathworks.com/matlabcentral/newsreader/view_thread/253596。因此,您最好像在问题中那样使用循环。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27616991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档