θελω στο matlab να φτιαξω εναν πινακα 3*1000 ας πουμε. οπου στην πρωτη στηλη μεσα σε καθε cell να παιρνει τιμη α1,α2,α3....α1000 πως μπορω να το υλοποιησω?
ευχαριστω

Code: Select all
% αρχικοποιείς ένα πίνακα 3x5 με μηδενικά
A = zeros(3,5)
% μετά κάνε ένα for για τον αριθμό των γραμμών,
% δες τι επιστρέφει το size κάνοντας στην κονσόλα του matlab: help size
for i = 1:size(A,1)
% βάλε στο 1ο cell κάθε γραμμής την τιμή 2
A(i,1) = 2;
end
%τύπωσε τον A να δεις τις τιμές που έχει
Α
Καλησπέρα, χωρίς for-looplillbo wrote:Καλημερα,
θελω στο matlab να φτιαξω εναν πινακα 3*1000 ας πουμε. οπου στην πρωτη στηλη μεσα σε καθε cell να παιρνει τιμη α1,α2,α3....α1000 πως μπορω να το υλοποιησω?
ευχαριστω
Code: Select all
M = cell( 3, 1000 );
M( 1, : ) = genvarname( repmat( {'a'}, 1, size( M, 2 ) ), 'a' );
Code: Select all
M = cell( 3, 1000 );
for s = 1:size( M ,2 )
M{ 1, s } = strcat( 'a', num2str( s ) );
end
Fancy αλλά είναι overkill αυτός ο τρόπος (όπως είπες ο 2ος είναι πολύ πιο γρήγορος).enum21 wrote: Καλησπέρα, χωρίς for-loop
Code: Select all
M = cell( 3, 1000 ); M( 1, : ) = genvarname( repmat( {'a'}, 1, size( M, 2 ) ), 'a' );
Δεν έχει να κάνει με καχυποψία αλλά το να μην δίνουμε έτοιμες λύσεις την στιγμή που δεν γνωρίζουμε άμα είναι homework. Την στιγμή που δεν είναι οκ πάω πάσο.lillbo wrote: απτην αλλη δεν ειναι ωραια η καχυποψια !
Δεν έχει να κάνει με το matlab. Αν ξέρεις σε μία γλώσσα προγραμματισμού πως αρχικοποιείς ένα πίνακα και να κάνεις μία loop σε αυτόν τότε θεωρώ πως μπορείς το κάνεις με λίγη προσπάθεια σε διάφορες γλώσσες βλέποντας ένα εισαγωγικό example.lillbo wrote:αν και δεν θεωρω οτι ηταν κατι τοσο τρομερο μια γραμμη κωδικα που δεν γνωριζαμε! επισης που ακριβως να χρειαστω εναν τεραστιο πινακα σε matlab?
Δεν ήξερα πως αυτό ήταν το trivial κομμάτι στην ερώτηση που έκανες.lillbo wrote: απλα ηθελε εναν τροπο μεσα σε καθε κελι να εκχωρει γραμμα με αριθμο μαζι..δηλ α1,α2 και δεν τυπωνοταν ετσι