Using variable as limiting index counts one less.
显示 更早的评论
Hello fellow Mathworkers,
i encountered a strange behavior when reading from an array:
Let's say my array is A = zeros(1,100000) and i want B = A(1:50000) and C = A(50001:100000)
B and C are both 1x50000 double. That's what i want.
But when reading it like B = A(start:stop) and start = 1 and stop = 50000, B will be only 1x49999 double.
Is this a bug or am i missing something?
Thanks in advance!
4 个评论
Awais Saeed
2021-8-21
编辑:Awais Saeed
2021-8-21
I am getting B = A(start:stop) = 1x50000 with start = 1 and stop = 50000.
Paul Werner
2021-8-21
Paul Werner
2021-8-21
A = zeros(1,100000);
start = 1;
stop = 50000;
B = A(start:stop)
"Propably i missed something ... When using stop = 1/2e-5 my problem occures."
You did not take into account the behavior of binary floating point numbers.
回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!