sasa limnaou Δημοσ. 28 Νοεμβρίου 2007 Share Δημοσ. 28 Νοεμβρίου 2007 Γεια σε όλους! αντιμετωπίζω προβληματακι με προγραμματισμό στο matlab!έχω πίνακα στήλη, με 1980 σειρές και πρέπει να φτιάξω loop που να προσθέτει το πρώτο στοιχείο του πίνακα μου με τα επόμενα 20,το δεύτερο στοιχείο του πίνακα με τα επόμενα του 20(δηλαδή να προθέτει από το 2ο μέχρι το 21ο στοιχείο) και πάει λέγοντας... καμιά ιδέα? θα ήμουν αιωνίως ευγνώμον!!! Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
tsipouro Δημοσ. 28 Νοεμβρίου 2007 Share Δημοσ. 28 Νοεμβρίου 2007 Γεια σε όλους! αντιμετωπίζω προβληματακι με προγραμματισμό στο matlab!έχω πίνακα στήλη, με 1980 σειρές και πρέπει να φτιάξω loop που να προσθέτει το πρώτο στοιχείο του πίνακα μου με τα επόμενα 20,το δεύτερο στοιχείο του πίνακα με τα επόμενα του 20(δηλαδή να προθέτει από το 2ο μέχρι το 21ο στοιχείο) και πάει λέγοντας... καμιά ιδέα? θα ήμουν αιωνίως ευγνώμον!!! Σε C# θα το έκανα (νομίζω) έτσι: for ( int i=0; i< table.Rows.Count; i++ ){ int place = table.Rows; for( int k=i; k<20+i; k++){ place += table.Rows[k] } table.Rows = place; } Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
tsipouro Δημοσ. 28 Νοεμβρίου 2007 Share Δημοσ. 28 Νοεμβρίου 2007 Τεσπά, επειδή edit ΔΕΝ μπορώ να κάνω, το παραθέτω διορθωμένο for ( int i=0; i< table.Rows.Count; i++ ){ int place = table.Rows[0]; for( int k=i; k<20+i; k++){ place += table.Rows[k][0]; } table.Rows = place; } Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
warchief Δημοσ. 28 Νοεμβρίου 2007 Share Δημοσ. 28 Νοεμβρίου 2007 Ειμαι σίγουρος πως ο παραπάνω κώδικας 8α δώσει ένα ωραίο array index out of bounds για i=1960+ Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
tsipouro Δημοσ. 29 Νοεμβρίου 2007 Share Δημοσ. 29 Νοεμβρίου 2007 Γι αυτό υπάρχει και το Α' τεστ εξάλλου for ( int i=0; i< table.Rows.Count-20; i++ ){ Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
myle Δημοσ. 30 Νοεμβρίου 2007 Share Δημοσ. 30 Νοεμβρίου 2007 Γεια σε όλους! αντιμετωπίζω προβληματακι με προγραμματισμό στο matlab!έχω πίνακα στήλη, με 1980 σειρές και πρέπει να φτιάξω loop που να προσθέτει το πρώτο στοιχείο του πίνακα μου με τα επόμενα 20,το δεύτερο στοιχείο του πίνακα με τα επόμενα του 20(δηλαδή να προθέτει από το 2ο μέχρι το 21ο στοιχείο) και πάει λέγοντας... καμιά ιδέα? θα ήμουν αιωνίως ευγνώμον!!! >b = zeros(1, 1960); for i=1:1960 for j = 1: 20 b[1,i] = b[1,i] + a[1,i + j]; end; end; Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
myle Δημοσ. 30 Νοεμβρίου 2007 Share Δημοσ. 30 Νοεμβρίου 2007 Βελτιστοποιημένη έκδοση, αν σε ενδιαφέρει κάτι τέτοιο εφόσον ασχολείσαι με θέματα απόδοσης: > b = zeros(1, 1960); i=1; for j = 1: 20 b[1,i] = b[1,i] + a[1,i + j]; end; for i=2:1960 b[1,i] = b[1,i - 1] - a[1,i - 1] + a[1, i + 20] ; end; Όπου αν και τρέχει στον ίδιο χρόνο ασυμπτωτικά, έχεις πετύχει πολύ καλύτερη constant. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.