ich habe eine Anwendung, in der ich Signale mit einem Bandpass filtern möchte. Die Signale enthalten aufgenommene Messwerte und sind ca 100Mio bis 200Mio Werte lang.
Ich habe hier einen Beispielcode, der verdeutlichen soll was ich machen muss:
for j=1:length(B)
bereich = Agefiltert(B(j):30);
Ergebnis(i,j) = sum(bereich);
end
end
In Wirklichkeit handelt es sich natürlich um andere Werte und Berechnungen, aber das hier ist die einfachste Möglichkeit alles darzustellen.
Da das Anwenden der Filter sehr lange dauert, würde ich das gern in einer parfor Schleife machen. Ich meine damit die erste for-Schleife.
Leider geht das nicht, da ich in der zweiten Schleife das Ergebnis mit den Parametern der ersten und zweiten Schleife schreibe.
Ich bekomme diese Fehlermeldung:
"Error: The variable Ergebnis in a parfor cannot be classified.
See Parallel for Loops in MATLAB, "Overview"."
Es ist mir klar, dass es daran liegt, wie ich das Ergebnis schreiben möchte. Aber ich kenne keine andere Möglichkeit, die mir es erlaubt parfor zu verwenden. Kann mir nitte jemand weiterhelfen? Ich hätte gerne einen Tipp, wie man es anders machen kann.
Vielen Dank!
Ich werde es sofort ausprobieren. Und das Video schaue ich mir auch an.
Das wird mir viel helfen!
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.