2008-11-28 23 views
5

Me parece muy útil para matlab, pero mi empleador actual no tiene una licencia de matlab: hay una para Comsol, que viene con Comsol Script. A primera vista, el script comsol es idéntico al matlab, pero después de un tiempo se encuentran diferencias misteriosas. Las funciones de muchos gráficos gráficos no están disponibles, y no puede exportar figuras a un formato de gráficos vectoriales. Pero lo peor es que el rendimiento parece ser mucho más pobre para los cálculos pesados, hay muchos bloqueos en algoritmos triviales.Diferencias entre el script de matlab y comsol?

(Por supuesto, el propósito del paquete COMSOL es totalmente diferente, pero estoy solamente interesados ​​en utilizarlo como Matlab, ya que no posee una licencia de MATLAB.)

¿hay diferencias en los núcleos de script de Matlab y Comsol?

¿Manejan la memoria y el cálculo de la matriz de manera diferente?

Respuesta

2

¿Manejan la memoria y el cálculo de la matriz de manera diferente?

Casi con certeza, sí (en un nivel de implementación). No he oído hablar de Comsol antes, pero no es sorprendente que sea más lento. Mathworks ha puesto mucho esfuerzo en la optimización del rendimiento en los últimos años. El uso de un JIT ha eliminado gran parte de la sobrecarga del intérprete. También hacen trucos de caché de usar como ejecutar

mybigresult = big1 .* big2 + big1 .* big3 

como (C-estilo pseudo-código)

for (size_t i=0; i<numelement; i++) { 
    mybigresult[i] = big1[i] * big2[i] + big1[i] * big3[i]; 
} 

en lugar de crear los temporales y la memoria de escaneado varias veces. Finalmente, en las versiones más recientes, han agregado soporte multihilo a grandes extensiones de su back-end. (Nota: semánticamente, Matlab todavía tiene un solo hilo).

Algunas alternativas gratuitas de Matlab: octava (pretende ser un equivalente de código abierto), python + numpy (lenguaje muy diferente, pero con características básicas similares).

Si Matlab lo hace mucho más productivo, puede intentar que su empleador pague una licencia ... ($ 50k/salario anual * 10% de mejora de la productividad) = $ 5k de trabajo adicional realizado si Se compra Matlab (solo inventando números aquí).

+1

Comsol surgió de un módulo de matlab 6, todas las bibliotecas, la documentación de ayuda, etc. es idéntica. A diferencia de los clones de matlab, casi todos los códigos de matlab se pueden ejecutar bajo el script comsol sin modificación alguna. Es por eso que la pregunta es relevante. – Fredriku73