Verfasst am: 11.05.2015, 11:18
Titel: Datei Löschen und schleife von Vorne beginnen (Aus Funktion
Moien
Ich hab Jetzt gefühlt 3h im google Gelesen aber mit meine Verständnis nix gefunden auser die Frage an sich
Ich hab eine Funktion die Mir daten Zuschneidet wenn die Bedingung erfüllt ist wenn nicht soll diese Datei gelöscht werden.
Code:
function[ M1, M2, M3, M4] = Zuschneiden_mit_Minimas( A , aFile )
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
%% minimas identifizieren
X=A(:,3);
[MinX Y2] = findpeaks(-X,'minpeakdistance',200);
%kleinste Differenz steht für Pertubationsanfang
a = ( Y2>4000 & Y2<4100);
% [a1 g]= min(diff(a)) % Ypert = find(Y2 == a(g) );
ifmax(a) == 1 [x Ypert] = max(a) % Zuordnung der Minimas und Deffinition der Matrizen
ZA = Y2(Ypert-1);
PA = Y2(Ypert);
PE = Y2(Ypert+2);
P1 = Y2(Ypert+3);
P2 = Y2(Ypert+4);
so schauts aus.
Nun hab ich das Problem das Ich nach Ablauf eine Fehlermeldung in der Main hab (keine Rückgebewerte, was aber auch so sein soll).
Gibt es eine Möglichkeit das Automatisch zulösen?
die Funktion wird in einer Schleife Aufgerufen diese soll dann einfach neugestartet werden.
Danke Schon mal
Falls es nur kleine Änderungen bedarf bin ich auch offen
ich würde einfach nan oder so zurück geben und die dann nach der schleife in der du die funktion aufrufst alle löschen. oder leere elemente zurück geben
Code:
function[a,b,c]=fun(x) if x==1
a=1;
b=2;
c=3;
else
a=[];
b=[];
c=[];
end
aber ich glaube ohne eine art return to line wird das auch nicht helfen
aha
aus der aussage kann ich leider nicht auf auftretende fehler schließen.
dann musst du dein beispiel wohl nochmal genauer ausführen.
_________________
% Give more information for mismatch. if(strcmp(err.identifier,'MATLAB:catenate:dimensionMismatch'))
msg = ['Dimension mismatch occurred: First argument has ', ... num2str(size(A,2)), ' columns while second has ', ... num2str(size(B,2)), ' columns.'];
error('MATLAB:myCode:dimensions', msg);
% Display any other errors as usual. else
rethrow(err);
end
das geht soweit gut für mich wäre eben interresant wie ich zur schleife zurückkomme
Ich ruffe eine Datei auf Lese eine Matrix ein und Schneide diese Zurecht
falls beim zuschneiden die Bedingung fehlen sollt lösche ich diese datei
Nach dem löschen will ich einfach mit der Nächsten datei weiter machen
Also eine Fehlermeldung hab ich nicht da es ja alles somacht wie es soll
nur das die Funktion (oben) nach dem Löschen keine Rückgabe hat ...
edit.:
Fehlermeldung gesammt:
Error in Zuschneiden_mit_Minimas (line 5)
X=A(:,3);
Output argument "M1" (and maybe others) not assigned during call
to
"C:\HSA_Projekte\Stolper_Studie\Zuschneiden_mit_Minimas.m>Zuschneiden_mit_Minimas".
Error in SS_Datenmatrix_Phython (line 7
[M_PertGait_roh{iFile,1}, M_PertGait_roh{iFile,2},
M_PertGait_roh{iFile,3}, M_PertGait_roh{iFile,4}]
= Zuschneiden_mit_Minimas( A, aFile);
aber das ist logisch deswegen will ich vor derrück gabe aus der funktion wieder rausspringen
kann ich nicht sagen da bis jetzt noch kein zusammenhängendes beispiel gegeben wurde das den fehler reproduziert aber wenn du eine lösung gefunden hast ist ja gut.
_________________
Ja noch besser als
" Ich brauch einen Befehl der mich aus der funktion wieder in eine Stelle des Hauptprogrammes springenlässte"
wird es nicht werden
Spricht nichts Dagegen, ich sag ja das es geht.
Da ich aber die Datei gleichzeitig aus meiner Ordnerstrucktur lösche und beim Nächsten Lauf diese ja weg ist, finde ich das es schöner ist dies garnicht erst zu machen.
aber siehe gestern 13.08 das ist die Lösung die hier für gut ist.
für andere Sachen wäre aber eine "goto line" Funktion sicher nett =)
gruß
KEH
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.