循环分度法选择

3次查看(最近30天)
马赫迪Babayi semiromi
马赫迪Babayi semiromi 2021年7月1日
我有一个向量
v = (1:10) ';
我想要一个函数,它可以选择从索引a到索引b的一段向量,这样如果a大于b,它就会在向量上循环,并从头开始,也就是说,我想要这个函数
函数y = circularSelect(v, a, b)
%%
结束
这样
循环select (v, 7,2)
返回
[7, 8,9,10, 1,2]
我想知道是否有一种不使用“if”语句的方法来完成它,因为如何使用“if”语句来完成它是相当琐碎的。
提前谢谢你的回答

接受的答案

Yazan
Yazan 2021年7月1日
函数y = circularSelect(v, a, b)
N =长度(v);
idx = a: b + N * (b <);
idx (idx > N) = idx (idx > N) - N;
y = v (idx);
结束

更多的答案(0)

下载188bet金宝搏


释放

R2021a

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!

翻译的