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:
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
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); } } }
merci d'avance.
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.
Partager