Matlab

"Arte gráfico" con R

R

El otro día dí con un blog dedicado al arte matemático y en particular con esta entrada sobre cómo crear figuras mediante rotación de segmentos:

El código (en matlab) estaba disponible y lo traduje a R:

graphic.art <- function( foo, n = 200, init = -1, end = 1, breaks = 20 ){
    x <- seq( init, end, by = 1 / breaks )
    base <- matrix( c( x, foo( x ) ), ncol = 2 )
    rotate <- function(a,m) m %*% matrix(c(cos(a), -sin(a), sin(a), cos(a)), 2)
    my.lines <- sapply( 2 * pi * ( 1:n ) / n, rotate, base, simplify = F )
    limits <- data.frame(do.call(rbind, my.lines))
    limits <- data.frame(lapply(limits, range))
    plot(limits, type = "n")
    lapply(my.lines, function(x) lines(x, col = sample(colours(), 1)))
}

Unos querrán probar diversas opciones:

¿Siete lenguajes de programación emergentes?

R

Hace un par de días apareció un artículo en InfoWorld en el que se enumeraban siete lenguajes de programación emergentes. Parece que por emergentes ha de entenderse cada vez más extendidos en la empresa. Como R hacía parte del rol, comencé alegrándome. Después me surgieron dos elementos de sospecha.

Véase la lista de los siete lenguajes seleccionados:

  • Python, un viejo conocido.
  • Ruby
  • Matlab
  • JavaScript, que está gozando de una segunda primavera gracias a AJAX y demás
  • R, ¡cómo no!
  • Erlang (vale la pena echarle un vistazo: tiene cosas la mar de interesantes)
  • Cobol (¡ufa!)
  • Extensiones CUDA

Los elementos de sospecha son dos (ni tres ni siete):

Matlab es más rápido que R... ¿y?

R

No sé si alguna vez en la vida he visto una copia legal de Matlab. Creo que no. Ni forzando la memoria consigo recordar haber conocido a alguien que haya pagado los 2000 euros que cuesta una licencia comercial en España.

Eso sí, he conocido a mucha gente a la que le gusta mucho. Y que habla maravillas de él, etc. En algún sitio lo habrán probado, presumo.

Los aficionados a Matlab lo son también a comentar lo rápido que es. He desperdiciado largas horas en aburridoras conversaciones acerca de lo veloz que es Matlab haciendo nosequé operaciones (que no realizo ni directa ni indirectamente casi nunca). Y de paso, a comentar lo bien que se compara contra R (¿por chinchar?): alguna vez he tenido que asistir con desigual grado de indiferencia a inopinadas e improvisadas sesiones de programación en las que construir comparativas que demuestren cuánto más gallardamente invierte unas matrices Matlab que R.