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

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

Δημοσ.

ΚΑΛΗΣΠΕΡΑ,

ΕΧΩ ΜΙΑ ΕΡΓΑΣΙΑ ΣΤΗΝ ΜΑΤLAB ΚΑΙ ΘΑ ΗΘΕΛΑ ΤΗΝ ΒΟΗΘΕΙΑ ΣΑΣ.EΧΩ ΕΝΑΝ ΠΙΝΑΚΑ ΠΟΥ ΕΧΕΙ ΕΠΑΝΑΛΑΜΒΑΝΟΜΕΝΕΣ ΤΙΜΕΣ ΣΤΙΣ ΣΤΗΛΕΣ ΕΝΟΣ ΠΙΝΑΚΑ ΚΑΙ ΘΕΛΩ ΝΑ ΠΑΡΩ ΜΟΝΟ ΜΙΑ ΦΟΡΑ ΤΗΝ ΚΑΘΕ ΤΙΜΗ.ΜΠΟΡΕΙΤΕ ΝΑ ΜΕ ΒΟΗΘΗΣΕΤΕ;;;ΕΧΩ ΚΑΝΕΙ ΤΟ ΕΞΗΣ ΠΡΟΒΛΗΜΑ (ΟΠΟΥ MIN ΕΙΝΑΙ Ο ΑΡΧΙΚΟΣ ΜΟΥ ΠΙΝΑΚΑΣ):

for j=1:p1

for i=1:n

 

if MIN(j,i)~=MIN(j+1,i)

m1(j,i)=MIN(j,i);

 

else if MIN(j,i)==MIN(:,i)

m1(j,i)=MIN(j,i);

 

 

 

end

end

end

end

 

ΕΥΧΑΡΙΣΤΩ ΕΚ ΤΩΝ ΠΡΟΤΕΡΩΝ

Δημοσ.

Μην χρησιμοποιείς σαν ονομασία πίνακα MIN. Είναι δεσμευμένη λέξη, και μπορεί να δημιούργησει προβλήματα.

 

Επίσης, τίποτα δεν εγγυάται ότι μετα την αφαίρεση των διπλών τιμών, κάθε στήλη θα έχει τον ίδιο αριθμο γραμμών. Άρα δεν μπορείς να τον δώσεις σαν ένα πίνακα. (γίνεται δηλαδή σαν αλλα θέλει λιγάκι έξτρα κόπο),

 

Εγώ θα το έγραφα κάπως έτσι.

 

>

[m,n]=size(A);
c=zeros(m,n);

for i=1:n
B=unique(A(:,i));
c(1:length(,i)=B;
end

Δημοσ.

ευχαριστω παρα πολυ με εσωσες!να ρωτησω και κατι αλλο στην εντολη repmat πως γινεται να κανω να εχει 10 επαναληψεισ στην πρωτη γραμμη,μετα η δευτερη 8 η τριτη 6 κλπ γιατι δεν μπορω να το βρω.Την βαζω σε for και εχω προβλημα.

Ευχαριστω

Δημοσ.

Δεν καταλαβαίνω τι θες; Μπορείς να επαναδιατυπώσεις;

 

Η repmat, δημιουργεί "αντίγραφα" ενός πινακα μετατοπισμένα κατά mXn.

Δημοσ.

εχω εναν πινακα και θελω να δημιουργησω εναν καινουργιο στον οποιο η πρωτη γραμμα του αρχικου πινακα επεναλαμβανεται 10 φορες,η δευτερη 8,η τριτη 6 κλπ.ΤΟΥ ΚΑΝΩ ΤΗΝ ΕΝΤΟΛΗ REPMAT ΑΛΛΑ ΜΟΥ ΤΙΣ ΕΠΑΝΑΛΑΜΒΑΝΕΙ ΟΛΕΣ 10 ΦΟΡΕΣ.ΤΗΝ ΒΑΖΟ ΣΕ FOR ΑΛΛΑ ΚΑΙ ΠΑΛΙ ΜΟΥ ΤΙΣ ΕΠΑΝΑΛΑΜΒΑΝΕΙ ΟΛΕΣ ΤΙΣ ΓΡΑΜΜΕΣ 5 ΦΟΡΕΣ.ΜΠΟΡΕΙ ΝΑ ΜΕ ΒΟΗΘΗΣΕΙ ΚΑΠΟΙΟΣ;

ΕΥΧΑΡΙΣΤΩ

Δημοσ.

Εάν A είναι ο πρώτος πίνακας και N οι φορές της επανάληψης για την πρώτη γραμμή:

 

>
B = [];
for indx = 1:size(A, 1)
 B = [b; repmat(A(indx, , (N - (2*(indx-1))), 1)];
end

 

Εάν δεν φροντίσεις τα μεγέθη, θα έχεις λάθη. Για την ακρίβεια, εάν δεν καταλάβεις τι κάνεις και δεν φροντίσεις κατάλληλα τα μεγέθη, ο παραπάνω κώδικας θα σου πετάει λάθος.

 

Εάν δώσεις σωστά τα μεγέθη, τότε ο παραπάνω κώδικας είναι μία χαρά.

 

Επίσης, σταμάτα να γράφεις με κεφαλαία.

 

Ακόμα, σε πια σχολή σας βάζουν τόσο απλά tasks σε MATLAB αλλά δεν μπορείτε να τα λύσετε αλγοριθμικά;

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...