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

Ερώτηση για Matlab


Maverick_7

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

Δημοσ.

Θέλω να φτιάξω μια συνάρτηση η οποία θα επιλέγει κάποια συγκεκριμένα στοιχεία (9 στον αριθμό) ενός πίνακα 6x6 και θα τα τοποθετεί σε έναν πίνακα 3x3. Πχ από τον παρακάτω πίνακα να επιλέγω τα μη μηδενικά στοιχεία (1-9) και να τα βάλω σε έναν 3x3 πίνακα.

 

1 0 2 0 3 0

0 0 0 0 0 0

4 0 5 0 6 0

0 0 0 0 0 0

7 0 8 0 9 0

0 0 0 0 0 0

 

Πως το κάνω αυτό? Δεν πρέπει να είναι κάτι δύσκολο αλλά πραγματικά έχω κολλήσει. Ευχαριστώ εκ των προτέρων.

Δημοσ.

Θέλω να φτιάξω μια συνάρτηση η οποία θα επιλέγει κάποια συγκεκριμένα στοιχεία (9 στον αριθμό) ενός πίνακα 6x6 και θα τα τοποθετεί σε έναν πίνακα 3x3. Πχ από τον παρακάτω πίνακα να επιλέγω τα μη μηδενικά στοιχεία (1-9) και να τα βάλω σε έναν 3x3 πίνακα.

 

1 0 2 0 3 0

0 0 0 0 0 0

4 0 5 0 6 0

0 0 0 0 0 0

7 0 8 0 9 0

0 0 0 0 0 0

 

Πως το κάνω αυτό? Δεν πρέπει να είναι κάτι δύσκολο αλλά πραγματικά έχω κολλήσει. Ευχαριστώ εκ των προτέρων.

Δημοσ.

Ένας τρόπος χωρίς την χρήση if-then και for-loops δηλαδή vectorized που μπορώ να σκεφτώ είναι ο παρακάτω:

 

>
A = [1 0 2 0 3 0
      0 0 0 0 0 0
      4 0 5 0 6 0
      0 0 0 0 0 0
      7 0 8 0 9 0
      0 0 0 0 0 0 ];
B = A(A~=0); % choose the non-zero elements
C = reshape(B,[3 3]); % convert B column vector to C - 3x3 matrix

 

:-)

Δημοσ.

Ένας τρόπος χωρίς την χρήση if-then και for-loops δηλαδή vectorized που μπορώ να σκεφτώ είναι ο παρακάτω:

 

>
A = [1 0 2 0 3 0
      0 0 0 0 0 0
      4 0 5 0 6 0
      0 0 0 0 0 0
      7 0 8 0 9 0
      0 0 0 0 0 0 ];
B = A(A~=0); % choose the non-zero elements
C = reshape(B,[3 3]); % convert B column vector to C - 3x3 matrix

 

:-)

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

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

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