Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   
Bücher:

Fachkräfte:
Entwicklungsingenieur (m/w) für modellbasierte Softwareentwicklung
Modellbasierte Softwareentwicklung mit MATLAB/Simulink und dSPACE TargetLink
Elektronische Fahrwerksysteme GmbH - Ingolstadt

Softwareentwickler (m/w) für automatische Codegenerierung
Softwareentwicklung mit MATLAB/Simulink und dSPACE TargetLink im Bereich Fahrwerkregelsysteme
Elektronische Fahrwerksysteme GmbH - Ingolstadt

Softwareentwickler (w/m) Bypassing- und Steuergeräte-Schnittstellen
Entwicklung von Echtzeit-Software für verschiedene automotive Microcontroller
dSPACE GmbH - Paderborn

Elektromobilität: E-Drive Entwicklungsingenieur HV-Energiemanagement und Betriebsstrategie (m/w)
Entwicklung von Teilfunktionen für Energiebordnetze
MBtech Group GmbH & Co. KGaA - Sindelfingen

Ingenieure (m/w) Funktionsentwicklung für Automatisiertes Fahren
Entwicklung von Software Funktionskomponenten für assistierte und automatisierte Fahrfunktionen
Continental AG - Frankfurt

weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Plotverschiebung - denselben Zeitpunkt bei allen Verläufen

 

mk443
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 01.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.11.2017, 17:14     Titel:
  Antworten mit Zitat      
Hey Harald,

das dachte ich auch, allerdings ist die Situation doch anders oder irre ich mich?
Das sind die 4 Arrays, die gemittelt werden.

Die Variablen heißen diesmal jedoch anders: O25P1_ave, O50P1_ave, V25P1_ave, V50P1_ave


Code:
O25P1_ave = mean(accO25P1_,2);
O50P1_ave = mean(accO50P1_,2);
V25P1_ave = mean(accV25P1_,2);
V50P1_ave = mean(accV50P1_,2);


Hier weiß ich nicht, wie ich mit dem Code vom 14.45 Uhr Beitrag arbeiten muss.

Anabelle
Private Nachricht senden Benutzer-Profile anzeigen


mk443
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 01.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.11.2017, 17:16     Titel:
  Antworten mit Zitat      
O25P1_ave hat 145251 Zeilen
O50P1_ave hat 147174 Zeilen
...

so, aber ich glaube, du weißt, was ich meine
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 17.537
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2014a
     Beitrag Verfasst am: 06.11.2017, 17:57     Titel:
  Antworten mit Zitat      
Hallo,

die Art, wie die Variablen vorliegen, ist etwas anderes, d.h. du musst den Code etwas anpassen. Ich würde sagen, dass du das von einem schwierigeren auf den leichteren Fall anpassen musst. Da kannst du dich ja selbst daran versuchen?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
mk443
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 01.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.11.2017, 18:17     Titel:
  Antworten mit Zitat      
Puh, ich bin ratlos.

Embarassed
Private Nachricht senden Benutzer-Profile anzeigen
 
mk443
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 01.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.11.2017, 18:39     Titel:
  Antworten mit Zitat      
Oh Mein Gott, Harald

ich habs geschafft Wink

Code:
O25P1_ave = mean(accO25P1_,2);
O50P1_ave = mean(accO50P1_,2);
V25P1_ave = mean(accV25P1_,2);
V50P1_ave = mean(accV50P1_,2);

all{1, 1}=O25P1_ave;
all{1, 2}=O50P1_ave;
all{1, 3}=V25P1_ave;
all{1, 4}=V50P1_ave;

laengen_all = cellfun(@length, all);
minLaenge_all = min(laengen_all);
P1_all = cellfun(@(x) x(1:minLaenge_all), all, 'UniformOutput', false);

P1_all_=cell2mat(P1_all);

P1_ave = mean(P1_all_,2);
 


So habe ich es jetzt realisiert.

Das passt vom Ergebnis. Wäre das auch deine Herangehensweise gewesen?

Gruß Anabelle
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 17.537
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2014a
     Beitrag Verfasst am: 06.11.2017, 19:08     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Wäre das auch deine Herangehensweise gewesen?

Nicht unbedingt, aber es sieht auch so stimmig aus :)

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
mk443
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 01.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.11.2017, 01:01     Titel:
  Antworten mit Zitat      
Vielen lieben Dank für die tolle Hilfe!

Dieses Forum ist großartig Embarassed

Eine kurze Frage sei noch gestattet. Ich möchte dieses gemittelte Signal jetzt noch glätten. Das funktioniert auch soweit. Hier mal der Code:

Code:
x_P1 = length(P1_ave);

time = linspace(1, 15, x_P1)';pointsPerSecond = round(x_P1/15);
coeffPpS = ones(1, pointsPerSecond)/pointsPerSecond;
avg = filter(coeffPpS, 0.56, P1_ave);
fDelay = (length(coeffPpS)-1)/2;
plot(time,[P1_ave avg])        %Plot ohne Delay
figure;
plot(time,P1_ave, ...
     time-fDelay/pointsPerSecond,avg);
grid;
axis tight;
legend('Input Data','Filtered Data','location','best');
ylabel('Acceleration (m/s²)');
xlabel('Elapsed Time (s)');
title('Acceleration respectively 40 Attempts');


Nun frage ich mich, warum die Glättung mittels der Filterfunktion bei

Code:
avg = filter(coeffPpS, 1, P1_ave);


so ungenau ausfällt, siehe glaet1 im Anhang.

Erst wenn ich den Faktor korrigiere, wird die Glättung genauer, siehe glaet075 und glaet053

Code:
avg = filter(coeffPpS, 0.75, P1_ave);


Code:
avg = filter(coeffPpS, 0.53, P1_ave);


Der Verlauf mit dem Glättungsfaktor 0,53 kommt den tatsächlichen Werten am Nächsten.

Wofür steht dieser Faktor eigentlich? Was heißt diese Zeile 'übersetzt'? Ist dies tatsächlich eine Art 'Glättungsfaktor'?

Gruß und gute Nacht Wink
Anabelle

glaet053.jpg
 Beschreibung:
Glättung mit Faktor 0,53

Download
 Dateiname:  glaet053.jpg
 Dateigröße:  109.51 KB
 Heruntergeladen:  6 mal
glaet075.jpg
 Beschreibung:
Glättung mit Faktor 0,75

Download
 Dateiname:  glaet075.jpg
 Dateigröße:  107.42 KB
 Heruntergeladen:  7 mal
glaet1.jpg
 Beschreibung:
Glättung mit Faktor 1

Download
 Dateiname:  glaet1.jpg
 Dateigröße:  106.2 KB
 Heruntergeladen:  6 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 17.537
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2014a
     Beitrag Verfasst am: 07.11.2017, 09:04     Titel:
  Antworten mit Zitat      
Hallo,

ich würde vermuten, dass die Glättung nicht ungenau ist, sondern einfach das Glättungsfenster zu breit. Versuch's z.B. mal mit
Code:
coeffPpS = ones(1, pointsPerSecond/10)/(pointsPerSecond/10);


Die Formel, mit der filter arbeitet, kannst du im "More About"-Bereich der Doku nachlesen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
mk443
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 01.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.11.2017, 14:53     Titel:
  Antworten mit Zitat      
Hallo Harald,

dabei verhaut es mir die Kurve, siehe Screenshot Smile

Ich mach einfach aus:

Code:
avg = filter(coeffPpS, 1, P1_ave);


folgenden Code:

Code:
avg = filter(coeffPpS, 0.56, P1_ave);


leider weiß ich nicht, weshalb dadurch die geglättete Kurve 'besser' wird? Eine Idee?

Und vielleicht folgende Problematik, siehe Screenshot glaet1.

Wie verschiebe ich beide Verläufe so, dass ich quasi den ersten 'Schlenker' ins Negative ignoriere? Die Kurve soll möglichst gleich mit der Steigung beginnen?

Da habe ich keine Idee.

Gruß Anabelle

glaet1.JPG
 Beschreibung:
Glättung verschieben

Download
 Dateiname:  glaet1.JPG
 Dateigröße:  120.37 KB
 Heruntergeladen:  8 mal
glaet056.jpg
 Beschreibung:
Glättung 0,56

Download
 Dateiname:  glaet056.jpg
 Dateigröße:  110.85 KB
 Heruntergeladen:  8 mal
glaet.jpg
 Beschreibung:
Glättung /10

Download
 Dateiname:  glaet.jpg
 Dateigröße:  103.06 KB
 Heruntergeladen:  8 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 17.537
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2014a
     Beitrag Verfasst am: 07.11.2017, 16:15     Titel:
  Antworten mit Zitat      
Hallo,

ein Beispieldatensatz wäre hilfreich, um das Problem nachvollziehen zu können.

Bei der "verhauenen" Kurve ist wohl beim Plotten etwas schiefgegangen. Was, kann ich nicht sagen, ohne die Befehle zu sehen.

In vielen Fällen ist übrigens movmean einfacher in der Bedienung als filter.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
mk443
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 01.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.11.2017, 16:22     Titel:
  Antworten mit Zitat      
movemean?! ok, vielleicht ist das wirklich eine Alternative.

ich lade mal ein Datensatz hoch, wenn ich daheim bin. Danke

Anabelle
Private Nachricht senden Benutzer-Profile anzeigen
 
mk443
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 01.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.11.2017, 19:16     Titel:
  Antworten mit Zitat      
Hallo Harald,

also anbei der Datensatz für das gemittelte Signal "P1_ave".

Ebenso mein Testprogramm.

Wenn du mir da noch helfen könntest, wäre das super klasse Embarassed

Das gemittelte Signal ist halt ziemlich verrauscht, daher soll es schön geglättet werden. Am Ende darf dann dieser 'Schlenker' ins Negative nicht sein. Da kann man vllt. irgendwie die Kurve so verschieben, dass es mit positiver Beschleunigung beginnt? So müsste quasi dann auch der Vektor gespeichert werden.

Ich danke dir vorab.

Gruß
Anabelle

test.m
 Beschreibung:
Testprogramm

Download
 Dateiname:  test.m
 Dateigröße:  16.47 KB
 Heruntergeladen:  5 mal
P1_ave.mat
 Beschreibung:
P1 gemittelt

Download
 Dateiname:  P1_ave.mat
 Dateigröße:  1.84 MB
 Heruntergeladen:  4 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
mk443
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 01.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.11.2017, 15:02     Titel:
  Antworten mit Zitat      
Hallo Harald,

ich habe es jetzt hinbekommen. Wink

Vielen lieben Dank für deine tatkräftige Unterstützung.

Viele liebe Grüße
Anabelle
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite Zurück  1, 2, 3

Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Nutzungsbedingungen  | Datenschutz  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2017 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.