πώς να δημιουργήσετε ένα διάνυσμα Matlab μέσα σε ένα κύτταρο χρησιμοποιώντας συστοιχία savemat SciPy του

ψήφοι
0

Σε python Είμαι προσπαθεί να χρησιμοποιήσει τη μέθοδο savemat SciPy να δημιουργήσει μια σειρά κελί που περιέχει έναν φορέα αρμάτων. Έχω δοκιμάσει τα εξής: (έχουν επίσης προσπαθήσει λίστες και άλλα είδη συστοιχίες NP)

vector = np.array([2.3,66.7,22.0])
cell = np.array(vector,dtype=np.object)
io.savemat({'result':cell})

Ωστόσο, αυτό μου δίνει το ακόλουθο αποτέλεσμα στο MATLAB

αποτέλεσμα =

συστοιχία 1 × 3 κύτταρο

{[2.3000]}    {[66.7000]}    {[22]}

αλλά αυτό που χρειάζεται είναι η εξής {[2.3,66.7,22]}, δεν έχω δοκιμάσει μέχρι τώρα λειτουργεί. Οποιαδήποτε βοήθεια θα εκτιμηθεί ιδιαίτερα

Δημοσιεύθηκε 09/10/2019 στις 18:52
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
0
In [25]: from scipy import io                                                   
In [26]: cell = np.array(np.array([1,2,3]), object)                             
In [27]: cell                                                                   
Out[27]: array([1, 2, 3], dtype=object)
In [28]: io.savemat('test.mat', {'result':cell})                                
In [29]: io.loadmat('test.mat')                                                 
Out[29]: 
{'__header__': b'MATLAB 5.0 MAT-file Platform: posix, Created on: Wed Oct  9 09:16:37 2019',
 '__version__': '1.0',
 '__globals__': [],
 'result': array([[array([[1]]), array([[2]]), array([[3]])]], dtype=object)}

Έτσι, σε αμφότερες την αρχική cellκαι του φορτίου, έχουμε μια συστοιχία 3 στοιχείο, με κάθε στοιχείο να είναι ένας αριθμός, ή ένα 2D array.

Ας κάνουμε μια ενιαία σειρά στοιχείων, με το στοιχείο αυτό είναι από μόνη της μια σειρά:

In [30]: cell = np.empty((1,1),object)                                          
In [31]: cell                                                                   
Out[31]: array([[None]], dtype=object)
In [32]: cell[0,0] = np.array([1,2,3])                                          
In [33]: cell                                                                   
Out[33]: array([[array([1, 2, 3])]], dtype=object)
In [34]: io.savemat('test.mat', {'result':cell})                                
In [35]: io.loadmat('test.mat')                                                 
Out[35]: 
{'__header__': b'MATLAB 5.0 MAT-file Platform: posix, Created on: Wed Oct  9 09:18:55 2019',
 '__version__': '1.0',
 '__globals__': [],
 'result': array([[array([[1, 2, 3]])]], dtype=object)}
Απαντήθηκε 09/10/2019 στις 19:17
πηγή χρήστη

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