integer and identity code
Mostra commenti meno recenti
Can you guys help me with this one?
Thanks
1 Commento
Roger Stafford
il 2 Feb 2017
Modificato: Roger Stafford
il 2 Feb 2017
In case it is a mystery to you why the described percentage is not one hundred percent, it should be realized that if x is any integer other than a power of two, the reciprocal 1/x cannot be achieved exactly in the binary numbers, which your computer uses, with a finite number of binary digits and must therefore approximate that reciprocal by rounding. It is then a matter of chance whether the multiplication x*(1/x) will turn out to be exactly one or off by some tiny amount.
Risposta accettata
Più risposte (1)
Image Analyst
il 2 Feb 2017
How about a simple for loop? Here's a start
equalityCount = 0;
for i = 1 : 100000
if i * (1/i) == 1
I trust you can finish it. I get 86884 = 86.884% Empirically it seems to be higher than the theoretical number Roger suggests. Not sure why.
>> format long
>> 17 * (1/17)
ans =
1
>> 17 * (1/17) == 1
ans =
logical
1
Categorie
Scopri di più su Creating and Concatenating Matrices in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!