While loop condition to execute until certain number of decimal places of accuracy is achieved

9 visualizaciones (últimos 30 días)
Hi so I am trying to run something in a while loop until a certain number of decimal place is achieve:
so lets say
a = 0.003
b = 0.02
and the absolute difference between them is:
difference = abs(a-b)
and I want to increment a whilst leaving b constant until I get an Accuracy of 3 decimal places for the difference between them.
How would I go about doing this?
Thanks.
  2 comentarios
Liam Ryan
Liam Ryan el 12 de Oct. de 2019
Meaning do it until the variable difference has an accurraccy of 3 decimal places.
So for instance:
if you start of with a = 0.003
and b = 0.2
the difference is: abs(0.003-0.2) = 0.1970.
But I want the difference between them to be really small, so I want the difference to be:
0.000AAAAA
where those AAAAA represents the non zero numbers.
So for 4 decimal place accuracy: want:
0.0000AAAA
Thanks

Iniciar sesión para comentar.

Respuestas (1)

David Hill
David Hill el 12 de Oct. de 2019
Increment by half the difference or whatever you want.
d=1;
while d>.001
a=a+(a-b)/2;
d=abs(a-b);
end
  2 comentarios
Liam Ryan
Liam Ryan el 12 de Oct. de 2019
hi so does d>.001make them have an accuraccy of 3 or 2 decimal places?
Thanks
Image Analyst
Image Analyst el 12 de Oct. de 2019
3. It will keep going until the first 3 decimal places of the difference are 0 and there is only a non-zero difference in the 4th or later decimal places.

Iniciar sesión para comentar.

Categorías

Más información sobre Logical en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by