.M File < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 19:38 Di 09.05.2006 | Autor: | N.a.M.e |
Hallo,
an alle, die mir geholfen haben und Tipps gaben. Das Problem hat sich erledigt. Habe eine andere Lösung gefunden. Trotzdem vielen Dank.
Ciao
N.a.M.e
|
|
|
|
Hallo, ich denke das Problem liegt daran, dass die Schleife wieder in den Bereich rutscht und du somit von dem Intervall immer wieder das Maximum bestimmst. Falls in dem Intervall alle Maxima gefunden wurden, kannst du c um 300 inkrementieren.
threshold=0.5;
c2=1;
for c=1:1:75076-300
if (daten(c) > threshold)
r_tmp=max(daten(c:c+300));
c=c+300;
r(c2)=r_tmp;
c2=c2+1;
end
end
Probier mal, obs so geht.
Grüße André
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 18:29 Mi 10.05.2006 | Autor: | N.a.M.e |
Danke!
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 13:19 Fr 12.05.2006 | Autor: | dormant |
Hi!
Also ich glaube, du versuchst diesen Code hinzukriegen:
threshold=0.5;
c2=1;
for c=1:300:75076
if (daten(c) > threshold)
r(c2)=max(daten(c:c+300));
c2=c2+1;
end
end
Wenn der ausgeführt wird hast du im r höchstens 250 Werte, nämlich die Maxima aller 250 Abschnitte, die aus je 300 Werte bestehen, solange das Ende (und eben nicht das Maximum) jedes Abschnitts über 0,5 liegt.
Ich würde das so machen:
threshold=0.5;
c2=1;
for c=1:300:75076
if max(daten(c:min(c+300, length(daten))))>0,5
r(c2)=max(daten(c:min(c+300, length(daten))));
c2=c2+1;
end
end
Der klassische Skript wäre:
c2=1;
for c=2:7507-1
if daten(c)>=daten(c-1) && daten(c)>=daten(c+1) && daten(c)>threshold
r(c2)=daten(c);
c2=c2+1;
% c=min(c+300, length(daten));
end
end
Dabei könntest du die wekomentierte Zeile hinzufügen, wenn du weißt, dass der Abstand von einem Maximum über 0,5 bis zum anderen mindestens 300 Werte ist. Dann würde man 300 mal weniger Operationen duchführen müssen.
Gruß,
dormant
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:55 Fr 12.05.2006 | Autor: | N.a.M.e |
Hatte bisher leider immer noch keinen Erfolg, wäre also noch immer für weitere Tipps dankbar!
|
|
|
|