IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

Appel d'une variable d'une classe Java à partir de MATLAB


Sujet :

MATLAB

  1. #1
    Membre habitué Avatar de kawther
    Inscrit en
    Avril 2006
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2006
    Messages : 307
    Points : 143
    Points
    143
    Par défaut Appel d'une variable d'une classe Java à partir de MATLAB
    bonjour
    en fait je développe en java et en Matlab. désolée si je n'ai pas mis mon problème dans le bon endroit.
    en effet mon problème est le suivant:
    j'ai développé une fonction en java qui remplit un tableau de string. je veux faire appel à ce tableau en matlab j'aurez besoin des résultats de la fonction java dans une autre fonction en matlab.
    j'ai essayé en ligne de commande de matlab d'appeler ma fonction java et j'ai réussi à le faire le problème c'est au niveau de ma variable tableau de string déclaré et rempli dans le code java je n'arrive pas à l'afficher en matlab. mon code java est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    import weka.classifiers.Classifier;
     
    import weka.classifiers.trees.FT;
    import weka.core.Instances;
    import java.io.BufferedReader;
    import java.io.FileReader;
     
    public class myClassifier {
    	public String[] test;
    	public myClassifier()throws Exception{
    	 // *** reading instances from a file
    	test=new String[50];	
    	Instances training_data = new Instances(new BufferedReader(
                new FileReader("C:/Users/user/workspace/ella/test_data/dataRL.arff")));
        training_data.setClassIndex(training_data.numAttributes() - 1);
     
        Instances testing_data = new Instances(new BufferedReader(
                new FileReader("C:/Users/user/workspace/ella/test_data/dataRL_FS.arff")));
        testing_data.setClassIndex(testing_data.numAttributes() - 1);
     
        //String summary = training_data.toSummaryString();
        //int number_samples = testing_data.numInstances();
        //int number_attributes_per_sample = testing_data.numAttributes();
        //System.out.println("Number of attributes in model = "
          //      + number_attributes_per_sample);
        //System.out.println("Number of samples = " + number_samples);
        //System.out.println("Summary: " + summary);
        //System.out.println();
     // J48 j48 = new J48();
     
        Classifier fc = (Classifier)new FT();  
     
        fc.buildClassifier(training_data);
     
        for (int i = 0; i < testing_data.numInstances()/44; i++) {
            double pred = fc.classifyInstance(testing_data.instance(i));
            if(testing_data.classAttribute().value((int) pred)!=null)
            	test[i]= testing_data.classAttribute().value((int) pred);
            	//testing_data.classAttribute().value((int) pred);
            System.out.println(". predicted value: "
                    + test[i]);
            //test[1]=testing_data.classAttribute().value((int) pred);
     
        }
    	}
    }
    je l'ai testé en matlab en faisant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    javaaddpath(fullfile(matlabroot,'work','myClassifier.jar'))
    >> [M,X,J]=inmem
    myJava = myClassifier();
    a=myJava.test[3]
    ??? a=myJava.test[3]  // pour affecter le contenus de mon tableau à la variable matlab
                     |
    Error: Unbalanced or unexpected parenthesis or bracket.
    merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Bien que tu fasses du Java, cela reste avec la syntaxe MATLAB, donc l'accès aux éléments d'un tableau se fait avec les parenthèses et non crochets de Java.

  3. #3
    Membre habitué Avatar de kawther
    Inscrit en
    Avril 2006
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2006
    Messages : 307
    Points : 143
    Points
    143
    Par défaut
    infiniment merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ajouter une variable d'un classe java à une bdd
    Par cisco.nat dans le forum Général Java
    Réponses: 13
    Dernier message: 07/06/2013, 16h55
  2. récupérer une variable d'une fonction dans une classe
    Par free_dom dans le forum Général Python
    Réponses: 20
    Dernier message: 08/07/2009, 12h35
  3. Garder une référence vers une variable d'une autre classe
    Par choupeo dans le forum Windows Forms
    Réponses: 5
    Dernier message: 08/12/2007, 18h30
  4. Appliquer une methode a une variable d une classe ?
    Par Slumpy dans le forum VB.NET
    Réponses: 18
    Dernier message: 07/06/2007, 17h17
  5. Réponses: 6
    Dernier message: 20/04/2007, 15h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo