miércoles, 10 de noviembre de 2010

¿Cómo evitar la división entre cero?

Siguiendo con Scilab me he topado con otro problema.

Quiero hacer una división elemento a elemento

A = [3;4;2;0;1;2;6;1];
b = 9;

Lo lógico es usar ./ para dividir y no usar un ciclo for, pero cuando hago la división

A./b

Obtengo un error porque uno de los elementos es un cero. ¿Cómo puedo evitarlo sin usar un for?

Por ahora la única solución que se me ha ocurrido es reemplazar los 0 por un número "muy pequeño" sé que no es la forma correcta de hacerlo, pero como en mi caso no necesito mucha precisión me viene bien. Al final lo arreglo de la siguiente forma:

A(vectorfind(A, 0, 'r')) = 1.d-10;
A./b

No hay comentarios:

Publicar un comentario