Previous Up Next

1.42.21  Δημιουργία πίνακα από λίστα πινάκων : blockmatrix

blockmatrix παίρνει ως όρισμα δύο ακεραίους n,m και μια λίστα (μεγέθους n*m) πινάκων ίδιας διαστάσης p × q (ή γενικά τέτοιας ώστε οι πρώτοι m πίνακες έχουν τον ίδιο αριθμό γραμμών και c στήλες, οι επόμενοι m πίνακες έχουν τον ίδιο αριθμό γραμμών και c στήλες, κοκ.). Και στις δύο περιπτώσεις, έχουμε n μπλόκα από c στήλες.
blockmatrix βάζει αυτά τα n μπλόκα το ένα κάτω από το άλλο (κάθετη προσκόλληση) και επιστρέφει έναν πίνακα που έχει c στήλες. Εάν τα ορίσματα της λίστας έχουν την ίδια διάσταση p × q, η απάντηση είναι ένας πίνακας διάστασης p*n × q*m.
Είσοδος :

blockmatrix(2,3,[idn(2),idn(2),idn(2), idn(2),idn(2),idn(2)])

Έξοδος :

[[1,0,1,0,1,0],[0,1,0,1,0,1], [1,0,1,0,1,0],[0,1,0,1,0,1]]

Είσοδος :

blockmatrix(3,2,[idn(2),idn(2), idn(2),idn(2), idn(2),idn(2)])

Έξοδος :

[[1,0,1,0],[0,1,0,1], [1,0,1,0],[0,1,0,1],[1,0,1,0],[0,1,0,1]]

Είσοδος :

blockmatrix(2,2,[idn(2),newMat(2,3), newMat(3,2),idn(3)])

Έξοδος :

[[1,0,0,0,0],[0,1,0,0,0],[0,0,1,0,0], [0,0,0,1,0],[0,0,0,0,1]]

Είσοδος :

blockmatrix(3,2,[idn(1),newMat(1,4), newMat(2,3),idn(2),newMat(1,2),[[1,1,1]]])

Έξοδος :

[[1,0,0,0,0],[0,0,0,1,0],[0,0,0,0,1],[0,0,1,1,1]]

Είσοδος :

A:=[[1,1],[1,1]];B:=[[1],[1]]

τότε :

blockmatrix(2,3,[2*A,3*A,4*A,5*B,newMat(2,4),6*B])

Έξοδος :

[[2,2,3,3,4,4],[2,2,3,3,4,4], [5,0,0,0,0,6],[5,0,0,0,0,6]]

Previous Up Next