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

ΑΠΕΛΠΙΣΜΕΝΗ MATLAB


sasa limnaou

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

Γεια σε όλους! αντιμετωπίζω προβληματακι με προγραμματισμό στο matlab!έχω πίνακα στήλη, με 1980 σειρές και πρέπει να φτιάξω loop που να προσθέτει το πρώτο στοιχείο του πίνακα μου με τα επόμενα 20,το δεύτερο στοιχείο του πίνακα με τα επόμενα του 20(δηλαδή να προθέτει από το 2ο μέχρι το 21ο στοιχείο) και πάει λέγοντας...

 

καμιά ιδέα? θα ήμουν αιωνίως ευγνώμον!!!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Γεια σε όλους! αντιμετωπίζω προβληματακι με προγραμματισμό στο 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;

}

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Τεσπά, επειδή 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;

}

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Γεια σε όλους! αντιμετωπίζω προβληματακι με προγραμματισμό στο 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;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Βελτιστοποιημένη έκδοση, αν σε ενδιαφέρει κάτι τέτοιο εφόσον ασχολείσαι με θέματα απόδοσης:

 

>
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.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

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

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