pasar - Convertir el código de MATLAB a R
pasar codigo de matlab ar (4)
Consulte los comentarios sobre este tema: URL: https://mandymejia.wordpress.com/2014/08/18/three-ways-to-use-matlab-from-r/
Ella menciona varias opciones:
Opción 1: ejecutar un solo comando MATLAB a la vez usando el sistema ()
Opción 2: use R.matlab para enviar código al servidor de MATLAB
Opción 3: escriba un programa MATLAB completo usando writeLines () y ejecute usando el sistema ()
¿Hay alguna herramienta para convertir el código MATLAB en R?
Tengo un montón de código que debe convertirse de MATLAB a R. No tiene que ser preciso, pero será útil para dar una ventaja.
No, no hay una conversión fácil. Algunos traducirán casi exactamente, algunos traducirán solo con gran dolor y sufrimiento. ¡Al menos estarás usando R! Comience aquí para resolver funciones y sintaxis análogas:
http://cran.r-project.org/doc/contrib/R-and-octave.txt
http://cran.r-project.org/doc/contrib/Hiebeler-matlabR.pdf
Cuando te quedes atascado, haz preguntas específicas aquí. Esto es realmente muy vago, aunque esas tarjetas de referencia lo ayudarán a comenzar.
Paul Gilbert proporciona una secuencia de comandos Bash que podría ayudarle a comenzar (afirma que se convertirá aproximadamente el 80% del camino) en la lista de correo R :
#!/bin/csh
cp $1 $2
ex -s $2 <<eof
g/%/s//#/g
g/function/(..*/)=/(..*/)(/(..*/)/s///2 <-function( /3 { /1/
g/end/s// } #/
g/for/(..*/)=/(..*/):/(..*/)/s//for ( /1 in /2 : /3 ) {/
g/_/s//./g
g/;/s///g
g/==/s//@@/g
g/=/s//<-/g
g/@@/s//==/g
g/zeros(/s//matrix(0,/g
g/ones(/s//matrix(1,/g
g/eye(/s//diag(1,/g
g///s//solve(,)/g
g/fsolve(''/(..*/)''/s//ms(~/1 /g
g/param(/(..*/))/s//param[ /1 ] /g
g/var(/(..*/))/s//var[ /1 ] /g
g/mod1(/(..*/)/s//mod1[ /1 /g
wq
eof
Una alternativa para traducir el código sería llamar a MATLAB desde R, utilizando el paquete RMatlab .
No he probado RMatlab, pero la descripción del paquete indica:
Este paquete proporciona métodos para leer y escribir archivos MAT. También hace posible la comunicación (evaluar código, enviar y recuperar objetos, etc.) con Matlab v6 o superior ejecutándose localmente o en un host remoto.