Redondeo de los elementos de una matriz bajo ciertas condiciones
Publicado por Aitor (49 intervenciones) el 21/03/2017 14:21:16
Hola,
Necesito redondear los elementos de un vector para expresarlos con menos números decimales. Hasta aquí ningún problema, sin embargo, necesito hacerlo bajo dos condiciones:
La primera es que su suma sea igual a 1 (ya lo es antes, pero también ha de serlo después del redondeo).
La segunda es que al multiplicar cada número por un cierto número natural dado N, el resultado sea igual a 0 o a un número natural comprendido entre 0 y N.
Todo esto claro está con la mejor precisión posible respecto a los números originales y funcionando siempre.
Os dejo aquí un ejemplo:
Muchas gracias de antemano, y un saludo.
Necesito redondear los elementos de un vector para expresarlos con menos números decimales. Hasta aquí ningún problema, sin embargo, necesito hacerlo bajo dos condiciones:
La primera es que su suma sea igual a 1 (ya lo es antes, pero también ha de serlo después del redondeo).
La segunda es que al multiplicar cada número por un cierto número natural dado N, el resultado sea igual a 0 o a un número natural comprendido entre 0 y N.
Todo esto claro está con la mejor precisión posible respecto a los números originales y funcionando siempre.
Os dejo aquí un ejemplo:
1
2
v = [0 0.0179 0.0102 0.0277 0.0392 0.0272 0.0027 0.0055 0.0148 0.0151 0.0137 0.0259 0.0103 0.0336 0.0386 0.0049 0.0065 0.0051 0.0081 0.0441 0.0298 0.0147 0.0243 0.0207 0.0198 0.0006 0.0287 0.0425 0.0088 0.0094 0.0368 0.0090 0.0181 0.0306 0.0158 0.0325 0.0108 0.0268 0.0163 0.0448 0.0395 0.0262 0.0097 0.0114 0.0283 0.0437 0.0103 0.0058 0.0249 0.0083];
N = 100
Muchas gracias de antemano, y un saludo.
Valora esta pregunta
0