iXdi - Σύγχρονος προγραμματισμός

Το MATLAB R2020a εκτελεί το σενάριο .m από το τερματικό

Θέλω να εκτελέσω ένα σενάριο matlab από το τερματικό.

Αν και υπάρχουν πολλές ερωτήσεις (π.χ.: εδώ ή εδώ) και απαντήσεις εκεί έξω, θα μπορούσα ακόμα δεν βρίσκω λύση πώς να το κάνετε να λειτουργήσει.

Αυτήν τη στιγμή βρίσκομαι στον ίδιο κατάλογο με ένα σενάριο test.m και ακολουθώντας τις απαντήσεις που βρέθηκαν στο διαδίκτυο, προσπάθησα να ξεκινήσω το matlab χρησιμοποιώντας:

matlab -nodesktop -nodisplay -nosplash -r test

Από τη βοήθεια του matlab, νομίζω ότι η σωστή προσέγγιση θα ήταν η χρήση η -παρτίδα σημαία

matlab -batch "test"

αλλά και αυτό δεν λειτουργεί.

Δοκίμασα επίσης διάφορες εναλλακτικές:

matlab -nodesktop -nodisplay -nosplash -r "test"
matlab -nodesktop -nodisplay -nosplash -r "test.m"
matlab -nodesktop -nodisplay -nosplash -batch "test.m"
matlab -nodesktop -nodisplay -nosplash -r "run('test')"
matlab -nodesktop -nodisplay -nosplash -r "run('test.m')"
matlab -nodesktop -nodisplay -nosplash -r "run('/absolut/path/test')"

Ωστόσο, λαμβάνω πάντα το ακόλουθο μήνυμα λάθους:

                           < M A T L A B (R) >
                  Copyright 1984-2020 The MathWorks, Inc.
              R2020a Update 3 (9.8.0.1396136) 64-bit (glnxa64)
                                May 27, 2020

 
To get started, type doc.
For product information, visit www.mathworks.com.
 
Warning: Command line argument -r cannot be combined with subsequent -r
argument. 

Αυτό που λειτουργεί στο Linux είναι

matlab -nodisplay < test.m

Επεξεργασία: Το δοκίμασα σήμερα σε windows και

matlab -batch test 

λειτουργεί σε παράθυρα.

08.12.2020

  • Στο Linux, δοκιμάστε το which matlab και δείτε αν είναι ψευδώνυμο ή σενάριο που φτιάξατε εσείς (το τμήμα IT σας;) για να εκτελέσετε κάποια εντολή κατά την εκκίνηση. Αυτός θα ήταν ο μόνος τρόπος που θα δείτε αυτό που βλέπετε. 09.12.2020
  • Το which matlab επιστρέφει /usr/bin/matlab 09.12.2020
  • Εντάξει. Ανοίξατε αυτό το αρχείο σε πρόγραμμα επεξεργασίας κειμένου; Προσθέτει μια παράμετρο -r στο εκτελέσιμο; 09.12.2020
  • αυτό είναι. Δεν συνειδητοποίησα ότι αυτό είναι μόνο ένα αρχείο κειμένου. Εκεί πρόσθεσαν σημαία -r 09.12.2020
  • Ορίστε. Τώρα μπορείτε να δείτε πώς να καλέσετε το «πραγματικό» πρόγραμμα MATLAB, παρακάμπτοντας αυτό το σενάριο. 09.12.2020

Απαντήσεις:


1

Το μήνυμα σφάλματος που λαμβάνετε υποδεικνύει ότι κατά κάποιο τρόπο καταλήξατε με δύο προδιαγραφές -r, σαν να είχατε καλέσει matlab -r test -r test. Είστε βέβαιοι ότι δεν έχετε ψευδώνυμο ή παρόμοιο για matlab;

Σε κάθε περίπτωση, σύμφωνα με το έγγραφο, το -r δεν είναι πλέον συνιστάται, θα πρέπει να χρησιμοποιήσετε -batch και το όρισμα πρέπει να είναι μια δήλωση, όχι μια διαδρομή προς ένα αρχείο. Επομένως, πρέπει να χρησιμοποιήσετε

matlab -sd /absolut/path -batch test

Η παράμετρος -sd ορίζει τον αρχικό κατάλογο για το MATLAB ώστε να μπορεί να βρει το test.m. Με -batch, υπονοούνται τα -nodesktop, -nodisplay και -nosplash.

09.12.2020
  • Αν πληκτρολογήσω «τύπος matlab», η έξοδος είναι «το matlab είναι bashed (/usr/bin/matlab)», επομένως, δεν νομίζω ότι υπάρχει ψευδώνυμο. Το δοκίμασα σήμερα σε windows και το matlab -batch test δουλεύει εκεί. Αλλά δεν υπάρχει τύχη στο Linux μέχρι στιγμής. 09.12.2020
  • Πόσο περίεργο. Η σύνταξη που δημοσίευσα σίγουρα λειτουργεί σωστά και το σφάλμα που λαμβάνετε εμφανίζεται σίγουρα για μένα εάν χρησιμοποιήσω το -r δύο φορές, οπότε κάτι δεν πάει καλά κάπου. 09.12.2020
  • Το δοκιμάζεις σε Linux; (Ubuntu 18.04 με R2020a); 09.12.2020
  • Ναι, μόλις έλεγξα το R2020a χρησιμοποιώντας το Debian 10. 09.12.2020
  • Μόλις το δοκίμασα σε διαφορετικό υπολογιστή με R2019a με το ίδιο πρόβλημα. Το 'matlab -batch pwd' δεν λειτουργεί και εκεί - ίσως έχει να κάνει με το πώς το IT εγκατέστησε το matlab; αλλά δεν είμαι σίγουρος 09.12.2020
  • Ίσως δοκιμάσετε set -x σε ένα κέλυφος πριν ξεκινήσετε; Μπορεί να φανεί αν υπάρχει κάτι δυσάρεστο. 09.12.2020
  • όχι, πήρα + matlab -batch pwd 09.12.2020
  • Νέα υλικά

    Το όνομά μου είναι Abdul Qudus.abd
    Το όνομά μου είναι Abdul Qudus.abd Είμαι διαδικτυακός συγγραφέας και γράφω άρθρα. Έχω 3ετή εμπειρία στη διαδικτυακή συγγραφή. οπότε θα είμαι ο καλύτερος συγγραφέας στην πλατφόρμα σας. είμαι ο..

    Το Python Selenium Web Scraping σας κατέβασε το 2023; Εκκαθαρίστε την προσωρινή μνήμη και ενισχύστε τα αποτελέσματά σας!
    Η απόξεση ιστού με το Python Selenium είναι ένα εξαιρετικό εργαλείο για την εξαγωγή δεδομένων από ιστοσελίδες. Ωστόσο, περιστασιακά, οι ιστοσελίδες ενδέχεται να αποτύχουν να φορτώσουν ή να..

    Έννοιες JavaScript που πρέπει να γνωρίζετε για να ξεκινήσετε με το React
    Αφού είδα αυτή την ερώτηση να τίθεται αμέτρητες φορές, πιστεύω ότι μπορεί να είναι χρήσιμο σε πολλούς ανθρώπους εκεί έξω να έχουν μια σαφή κατανόηση του τι χρειάζεται να είναι γνωστό στο..

    Χρήση της C++ ως γλώσσας δέσμης ενεργειών, μέρος 8
    Βελτίωση κλήσεων λειτουργιών API με χρήση ενσωματωμένης συναρμολόγησης Έχω πειραματιστεί με την ενσωματωμένη συναρμολόγηση στο παρελθόν με κάποια επιτυχία. Είναι περίπλοκο και εύκολο να κάνεις..

    5 αμυχές που πρέπει να γνωρίζετε για να γίνετε σπουδαίος προγραμματιστής.
    5 αμυχές που πρέπει να γνωρίζετε για να γίνετε σπουδαίος προγραμματιστής. Αυτές τις μέρες, πολλοί φιλοδοξούν να εργαστούν ως προγραμματιστές. Αλλά το να γίνεις σπουδαίος προγραμματιστής δεν..

    Πώς να εφαρμόσετε το Deep Learning σε δομημένα δεδομένα
    Η βαθιά μάθηση είναι ένα καυτό και περιζήτητο θέμα τώρα ως μέρες. Η επιτυχία του προέρχεται από το γεγονός ότι είναι εξαιρετικά αποτελεσματικό στην επίλυση σύνθετων προβλημάτων και στην επίτευξη..

    Είναι το AI καλύτερο από τα ζώα στο να βλέπουν στο σκοτάδι;
    Τέχνη Μηχανικής Εκμάθησης Είναι η τεχνητή νοημοσύνη καλύτερη από τα ζώα στο να βλέπουν στο σκοτάδι; Τα όρια της όρασης ρομπότ στο ακραίο σκοτάδι Μελέτη της συμπεριφοράς των ζώων τη..