Υπάρχει κάποιος που έχει εμπειρία δημιουργώντας μια κοινή βιβλιοθήκη σε MATLAB;

ψήφοι
9

Ένας ερευνητής έχει δημιουργήσει μια μικρή προσομοίωση σε MATLAB και θέλουμε να γίνει προσιτό σε άλλους. Το σχέδιό μου είναι να πάρει την προσομοίωση, να καθαρίσει μερικά πράγματα και να το μετατρέψει σε ένα σύνολο λειτουργιών. Στη συνέχεια σκοπεύω να το υπολογίσουν σε μια βιβλιοθήκη C και χρησιμοποιήστε SWIG για να δημιουργήσετε ένα περιτύλιγμα Python. Σε αυτό το σημείο θα πρέπει να είναι σε θέση να καλέσει την προσομοίωση από ένα μικρό app Django. Τουλάχιστον έτσι ελπίζω.

Έχω το σωστό σχέδιο; Έχει κάποιος άλλος κάνει κάτι παρόμοιο; Μπορείτε να μου πείτε αν υπάρχουν σοβαρές παγίδες που δεν γνωρίζω αυτή τη στιγμή;

Δημοσιεύθηκε 07/08/2008 στις 19:47
πηγή χρήστη
Σε άλλες γλώσσες...                            


4 απαντήσεις

ψήφοι
3

Δεν θα βοηθήσει πολύ, αλλά θυμάμαι ότι ήμουν σε θέση να τυλίξετε μια προσομοίωση MATLAB σε DLL και στη συνέχεια να το ονομάσουμε από την εφαρμογή τους Δελφούς. Δούλεψε πολύ καλά.

Απαντήθηκε 07/08/2008 στις 21:57
πηγή χρήστη

ψήφοι
1

Ίσως να δοκιμάσετε ctypes αντί SWIG. Αν έχει συμπεριληφθεί ως μέρος της Python 2.5, τότε θα πρέπει να είναι καλό :-)

Απαντήθηκε 19/08/2008 στις 14:51
πηγή χρήστη

ψήφοι
2

Θα ήθελα επίσης να δοκιμάσετε πρώτα ctypes.

  1. Χρησιμοποιήστε το μεταγλωττιστή Matlab για τη σύνταξη του κώδικα σε C.
  2. Μεταγλωττίστε τον κώδικα C σε ένα DLL.
  3. Χρησιμοποιήστε ctypes να φορτώσει και να καλέσει τον κωδικό από αυτό το DLL

Το πιο δύσκολο βήμα είναι πιθανώς 1, αλλά αν ήδη γνωρίζετε Matlab και έχουν χρησιμοποιήσει τον compiler Matlab, δεν πρέπει να έχετε σοβαρά προβλήματα με αυτό.

Απαντήθηκε 26/09/2008 στις 10:55
πηγή χρήστη

ψήφοι
5

Ένα πράγμα που πρέπει να θυμόμαστε είναι ότι ο compiler Matlab δεν συγκεντρώνει στην πραγματικότητα τον κωδικό Matlab στη μητρική οδηγίες της μηχανής. Είναι απλά τυλίγει σε ένα αυτόνομο εκτελέσιμο ή μια βιβλιοθήκη με τη δική του μηχανή χρόνου εκτέλεσης του που τρέχει. Θα είναι σε θέση να εκτελέσει κώδικα σας χωρίς Matlab εγκατασταθεί, και θα είναι σε θέση να το διασυνδέσει με άλλες γλώσσες, αλλά θα εξακολουθεί να ερμηνευθεί κώδικα Matlab, οπότε δεν θα υπάρχει επιτάχυνση.

Απαντήθηκε 02/11/2009 στις 04:43
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more