Verfasst am: 09.05.2012, 16:53
Titel: Aufsummieren von Variablen in einer Schleife
Hallo,
ich schreib grad an einem Programm, was aus einem Textfile was auslesen und in einen anderen speichern soll. Es soll das Originalfile x-mal teilen (immer vom Anfang aus gehend). Leider entstehen grad zwei Fehler:
1.) Warum summiert A(k,1)=sum(b) die b-Werte aller Schleifendurchläufe auf und nicht nur von einem? Und wie kann ich das ändern?
2.)Auch im abgespeicherten File werden die b's kumuliert, obwohl ich immer nur die b's eines Durchlaufs haben möchte. Was kann man da machen?
valid=daten(:,1);
pulsbreite=daten(:,13);
ampc=zeros(349,2); %erstellt Matrix mit 2 Spalten und Nullen drin
for j=1:349 %in die erste Spalte kommen alle Zahlen von 1 bis 349
ampc(j,1)=j;
end;
a=ampc(:,1);
b=ampc(:,2);
l=length(daten); %Länge des Txt-files / Anzahl der totals
cut=randi(l,2,1); %HIER Anzahl der Teile ändern
c=cut(:,1);
L2=length(cut);
A=zeros(L2,1);
B=zeros(L2,1); %da in A leider die valids aller Durchläufe aufsummiert werden, müssen die Summen der einzelnen Durchläufe in neuer Matrix dargestellt werden
for k=1:L2 %"schneidet" k-Teile
for i=1:c(k) %zählt nur bis rand. Nummer for j=1:349 if valid(i)==3 if pulsbreite(i)==a(j)
b(j)=b(j)+1; %zählt einen valid mit ensprechender Pulsbreite dazu
end;
end;
end;
end;
A(k,1)=sum(b); %Anzahl der Valids
B(1,1)=A(1,1);
if k>=2
B(k,1)=A(k,1)-A(k-1,1);
end;
ampc=[a b]
fid=fopen(sprintf('ampc_%d.txt',B(k,1)),'wt'); %speichern
for n=1:size(ampc) fprintf(fid,'%d\t%d%',ampc(n,:));
fprintf(fid,'\n');
end;
fclose(fid);
end;
Ich habs! Die Matrizen A und B müssen auch in der Schleife immer wieder auf null gesetzt werden!
Vielen Dank für den Tip!!
Kat
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.