Conversion code MATLAB en R [fermé]

Existe-t-il un outil pour convertir MATLAB

4 ответов

Paul Gilbert fournit une ébauche Bash script qui pourrait vous faire démarrer (il prétend qu'il convertira environ 80% du chemin) sur le R liste de diffusion:

#!/bin/csh
cp  
ex -s  <<eof
   g/%/s//#/g
   g/function\(..*\)=\(..*\)(\(..*\)/s// <-function(  { /
   g/end/s//   } #/
   g/for\(..*\)=\(..*\):\(..*\)/s//for (  in  :  ) {/
   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(~ /g
   g/param(\(..*\))/s//param[  ] /g
   g/var(\(..*\))/s//var[  ] /g
   g/mod1(\(..*\)/s//mod1[  /g
   wq
eof
15
répondu Abe 2015-03-26 15:20:31
la source

Non il n'y a pas de conversion facile. Certains traduiront presque exactement, d'autres ne traduiront qu'avec beaucoup de douleur et de souffrance. Au moins, vous pourrez à l'aide de R si! Commencez ici à travailler sur les fonctions et la syntaxe analogues:

http://cran.r-project.org/doc/contrib/R-and-octave.txt

http://cran.r-project.org/doc/contrib/Hiebeler-matlabR.pdf

lorsque vous êtes bloqué s'il vous plaît posez des questions spécifiques ici. C'est vraiment trop aussi vague soit-il, bien que ces fiches de référence vous aideront à commencer.

9
répondu mdsumner 2011-04-03 16:57:43
la source

une alternative à la traduction du code serait d'appeler MATLAB de L'intérieur de R, en utilisant le RMatlab package.

je n'ai pas essayé RMatlab, mais la description du package de membres:

Ce paquet fournit des méthodes pour lire et écrire TAPIS de fichiers. Il permet également de possible de communiquer d'évaluer code, envoyer et récupérer des objets etc.) avec V6 Matlab ou supérieur en local ou sur un hôte distant.

8
répondu David LeBauer 2015-03-26 15:19:39
la source

voir les commentaires sur cette question: URL:https://mandymejia.wordpress.com/2014/08/18/three-ways-to-use-matlab-from-r/

Elle mentionne plusieurs options:

Option 1: Lancer une seule commande MATLAB à la fois en utilisant system()

Option 2: Utiliser R. matlab pour envoyer du code au serveur MATLAB

Option 3: Ecrire un programme MATLAB entier en utilisant writeLines () et exécuter en utilisant system ()

3
répondu AlanJ 2015-03-13 01:40:52
la source

Autres questions sur