Προς το περιεχόμενο

Χρήση του Matlab Builder JA


jovou

Προτεινόμενες αναρτήσεις

Δημοσ.

Γειά σε όλους.

έπειτα απο μια μικρή αναζήτηση δε βρήκα κάτι ανάλογο στα ήδη υπάρχοντα threads...γι' αυτό θα εκφράσω την απορία μου από εδώ.

 

Προγραμματίζοντας σε Java μέσω της εφαρμογής Easy Java Simulations (EJS - link), τελειυταία χρειάστηκε να καταφύγω στη χρήση κώδικα Matlab που κάνει τη ζωή μου πιο εύκολη, μιας που πλέον το επιτρέπει αυτό ο Matlab Builder.

 

Το πρόγραμμα μου στη Matlab είναι απλό, σχετίζεται με θεωρία ΣΑΕ και σας το επισυνάπτω. Πρόκειται για μια συνάρτηση που επιστρέφει τους πόλους ενός συστήματος που ορίζω.

 

H μέθοδος αυτή αποτελλεί μέλος μιας κλάσης που δημιουργεί ο Builder, την "ControlToolbox ". Οπότε μέσα στο Java Project μου, έχω φτιάξει επίσης μια συνάρτηση όπου καλείται η συγκεκριμένη μέθοδος και μου επιστρέφει τους πόλους που θέλω έπειτα απο κατάλληλη διαχείριση των δεδομένων που παίρνω από το Matlab. Την εν λόγω συνάρτηση παραθέτω επίσης στο ίδιο επισυναπτόμενο αρχείο.

 

Το ζουμί της υπόθεσης έγκειτε στο εξής:

Την πρώτη φορά που καλώ τη συγκεκριμένη συνάρτηση, όλα βαίνουν καλώς. Με κάθε επόμενη κλήση της, εμφανίζονται Exceptions που δεν αντιλαμβάνομαι γιατί!

 

Για παράδειγμα, έχω το παρακάτω μήνυμα:

??? Error using ==> ss.ss at 221

Input argument "opaque_array" is undefined.

 

Exception: com.mathworks.toolbox.javabuilder.MWException: Error using ==> ss.ss at 221

Input argument "opaque_array" is undefined.Error in =>getOloopSysPoles.m at 6

Exception: null

 

Μια άλλη παρόμοια συνάρτηση που επιστρέφει του πόλους ενός συστήματος που δουλεύει σε Closed Loop Υτη τη φορά (απλώς συμπεριλαμβάνει κάποιο feedback), επίσης έπειτα απο κάθε επιπλέον κλήση της επιστρέφει την εξής εξαίρεση:

 

??? Error using ==> ss.ss at 221

Input argument "Data" is undefined.

 

Exception: com.mathworks.toolbox.javabuilder.MWException: Error using ==> ss.ss at 221

Input argument "Data" is undefined.Error in =>getCloopSysPoles.m at 6

Exception: null

 

Αμφότερες οι ειδοποιήσεις παραπέμπουν στην ίδια γραμμή κώδικα, αυτή της σειράς 6, δλδ planta = ss(A,B,C,D);, που είναι η ίδια!

 

 

Το ερώτημα μου είναι, αν αντιλαμβάνεται κανείς τι σκάλωμα τρώει το Matlab έπειτα απο την πρώτη κλήση. Είμαι στη διάθεση σας για περαιτέρω πληροφορίες.

 

Ευχαριστώ εκ των προτέρων.

test.txt

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...