# Why am I getting Inf in my matrix

17 visualizaciones (últimos 30 días)
paul lestingi el 1 de Abr. de 2018
Comentada: paul lestingi el 1 de Abr. de 2018
I am trying to divide each position element by element, and every time the denominator = 0 I want to set the result to 1 so I don't get any infinity values (for dividing by zero). When I run the code and test with find(isinf(g)) there are a ton of values that come up as infinity. Can anyone explain why?
clc
close all
x = [0 0 0; 1 2 3;0 2 4];
y = [1 2 0; 2 4 6; 2 4 5];
for u=1:3
for v=1:3
if (x(u,v) == 0)
g(u,v) = 1;
else
g(u,v) =y(u,v)/x(u,v);
end
end
end
##### 0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

Roger Stafford el 1 de Abr. de 2018
Editada: Roger Stafford el 1 de Abr. de 2018
It is easily possible for two finite nonzero numbers to have a quotient so large that Matlab must give 'inf' as its value. For example
x = 0.01*realmax;
y = 0.0001;
q = x/y; % <-- This will yield inf for q
I suggest you make a study of the corresponding x and y values that give rise to your inf values to see what kinds of number pairs are involved.
##### 1 comentarioMostrar -1 comentarios más antiguosOcultar -1 comentarios más antiguos
paul lestingi el 1 de Abr. de 2018
I'm not sure I understand. There are only two 3x3 matricies being evaluated and by looking at them none of the quotients should be near infinity.

Iniciar sesión para comentar.

### Categorías

Más información sobre Multidimensional Arrays 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