Doubt in a product erro
1 view (last 30 days)
Show older comments
Nélio Dias
on 2 Apr 2021
Commented: Sulaymon Eshkabilov
on 4 Apr 2021
Hi, I have wrinting a code e get a 1×0 empty double row vector error
So, what I wrote:
t1 = 0:0.01:300;
pmenor = 25*0.9;
pmaior = 25*(1.1);
idx1 = find(t1== pmenor);
idx2 = find(t1 == pmaior);
I got
idx2 =
1×0 empty double row vector
But, if I write:
idx2 = find(t1 == 27.5);
idx2 =
2751
So I dont understand the error since idx1 gives me the correct answer, because we know that 25*1.1 = 27.5.
Thanks for reading.
0 Comments
Accepted Answer
Sulaymon Eshkabilov
on 2 Apr 2021
Edited: Sulaymon Eshkabilov
on 2 Apr 2021
Here is a small correction to obtain the correct answers in your exercise:
t1 = 0:0.01:300;
N = 2; % Number of decimal digits to be rounded, e.g.: N = 2 or 3 or 5, etc.
pmenor = round(25*0.9, N);
pmaior = round(25*(1.1), N);
idx1 = find(t1== pmenor);
idx2 = find(t1 == pmaior);
2 Comments
More Answers (1)
the cyclist
on 2 Apr 2021
The reason has to do with the accuracy of floating-point math on a binary computer. I suggest you read this question and answer, to get a better understanding of what is going on.
See Also
Categories
Find more on Graphics Object Programming in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!