Prüfen ob Vektorelement gesetz < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) überfällig | Datum: | 13:54 Mi 03.02.2010 | Autor: | Wimme |
Hallo!
Ich möchte eine MatLab Funktion schreiben, die u.a. in einem Vektor zählt, wie oft die verschiedenen Werte in einem anderen Vektor vorkommen.
Beispiel:
y = 1 2 1 3
occurences(1) = 2
occurences(2) = 1
occurences(3) = 1
Dazu habe ich jetzt folgendes gemacht:
occurences = [];
for i=1:LängeVonY,
occurences(y(i)) = occurences(y(i))+1;
end
Das gibt mir aber den Fehler:
Attempted to access occurences(1); index out of bounds because numel(occurences)=0.
Ich muss also irgendwie prüfen, ob occurences(1) schon "existiert".
Frage verständlich?
Danke im Voraus,
Wimme
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 14:20 Fr 05.02.2010 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 15:54 Fr 05.02.2010 | Autor: | Frasier |
Hallo Wimme,
du legst ja occurences als leeren "Vektor" an; der hat also garkeine Elemente. Daher kannst du auch auf keine zugreifen.
Du könntest occurences so anlegen:
occurences=zeros(size(y));
oder, wenn es nicht schon zu geschummelt ist:
occurences=zeros(numel(unique(y)),1);
lg
F.
|
|
|
|