1

我有一个数组x=1:N。我想可视化由 决定的曲线的中心部分x,只说部分xx=N/2-M/2:N/2+M/2。我知道如果我对所有内容进行四舍五入(N 和 M 可以是任何内容),我可以做到这一点,但这会使简单的索引操作变得非常冗长且不可读。有没有更优雅的方式来做到这一点?

4

2 回答 2

2

调整你的想法,用它的“半径”(称之为m)而不是它的“直径”(M)来表达间隔的大小,瞧

xx = median(x)-m:median(x)+m

这样更优雅,不是吗!因为您可能希望到处都是整数,请尝试

xx = floor(median(x)-m):ceil(median(x)+m)
于 2012-10-16T08:07:02.580 回答
2

MATLAB 对整数类型隐式进行舍入,因此您可以简单地将M和转换N为整数:

N = uint32(N);
M = uint32(M);
xx = N/2-M/2:N/2+M/2;
于 2012-10-16T08:18:01.547 回答