Matlab

Truco Matlab: Calcular el número máximo de elementos en Matlab

Una pregunta que suele surgir a la hora de trabajar con vectores o matrices es cuál es el número máximo de elementos que puedo guardar. Un valor que depende de la memoria libre. No la memoria total del sistema. En Matlab existe la función memory() con la que es posible obtener la memoria libre, aunque solo en Windows. Función que se puede emplear para calcular cuál es el número máximo de elementos en Matlab que se pueden guardar en memoria.

La función memory() de Matlab

Al escribir la función memory en una sesión de Matlab obtendremos una respuesta como la siguiente:

>> memory()
Maximum possible array:     12815 MB (1.344e+10 bytes) *
Memory available for all arrays:     12815 MB (1.344e+10 bytes) *
Memory used by MATLAB:      1156 MB (1.212e+09 bytes)
Physical Memory (RAM):      8192 MB (8.589e+09 bytes)

*  Limited by System Memory (physical + swap file) available.

En la que se puede ver la memoria máxima que hay disponible para un array, la memoria disponible para todos los arrays, la memoria usada actualmente por el Matlab y la memoria física total disponible. Si queremos saber cuál es el número máximo de elementos que podemos guardar en un vector nos debemos fijar en el primer número y dividirlo por el tamaño de un elemento. En el caso de número reales el tamaño es 8.

Calcular el número máximo de elementos en Matlab

Los valores que se han obtenido por pantalla se pueden cargar en una variable. Variable que contendrá una estructura cuya propiedad MaxPossibleArrayBytes es la que nos interesa. Así, se puede usar el siguiente código para ver el número máximo de elementos.

bytes = memory();
max_num = floor(bytes.MaxPossibleArrayBytes/8);

En el ejemplo de arriba el número máximo de elementos que se pueden cargar en un único vector son aproximadamente 1.700 millones. Este valor es una cota superior, por lo que es recomendable no intentar llegar a ese límite.

Conclusiones

Si queremos saber cuánta memoria nos queda en nuestra sesión de Matlab este truco nos puede ayudar. Además de indicarnos el tamaño aproximado de las matrices que podemos cargar.

Imagen de Theodor Moise en Pixabay

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: Truco

Recent Posts

Gini, KS y AUC: Cómo Medir la Calidad de un Modelo de Credit Scoring

Cuando un analista de riesgo presenta un nuevo scorecard ante el comité de dirección, la…

15 horas ago

Curiosidad: De dónde vienen foo, bar y foobar

Si revisáis código o documentación de otros programadores, tarde o temprano os toparéis con dos…

6 días ago

BG/NBD + Gamma/Gamma: el modelo probabilístico para CLV en compras continuas

Los dos artículos anteriores cubrieron el CLV clásico —una fórmula útil pero que trata a…

1 semana ago

Errores habituales al trabajar con DataFrames grandes en Pandas (y cómo evitarlos)

Hay un momento muy concreto en la vida de casi todo análisis: el código que…

2 semanas ago

Champion vs Challenger: Cómo los Bancos Validan Modelos Nuevos antes de Ponerlos en Producción

Has construido un nuevo modelo de credit scoring. Las métricas de validación son mejores que…

2 semanas ago

Cómo Comparar Dos Hipotecas con Todos los Gastos Incluidos

Comparar dos hipotecas parece sencillo: la que tenga el TIN más bajo es la mejor…

3 semanas ago

This website uses cookies.