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

Application Engineer (m/w)
Unterstützung des Vertriebs bei der Erstellung von Angeboten und Präsentation beim Kunden
Control Techniques GmbH - Hennef

Senior Modellierer (w/m) für Hochvolt-Ladefunktionen
Modellbasierte Softwareentwicklung für elektrische Energiesysteme
Carmeq GmbH - Berlin

Entwicklungsingenieur (m/w) für Fahrdynamikregelsysteme
Entwicklung der für die Fahrdynamik relevanten Funktionen
Elektronische Fahrwerksysteme GmbH - Ingolstadt

weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Matrix mit definierter Anzahl von Werten

 

DoM777
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 21.07.16
Wohnort: ---
Version: 7.11.0 (2011b)
     Beitrag Verfasst am: 21.07.2016, 10:29     Titel: Matrix mit definierter Anzahl von Werten
  Antworten mit Zitat      
Hallo zusammen,
ich habe folgende Frage an Euch:


Ich habe drei Vektoren (A, B und C) mit jeweils 15.360 Werten

Nachdem ich mir die 3 geplotet habe kann ich Artefakte sehen die ich rausnehmen will.

Die neuen Vektoren sollen die selben Werte enthalten allerdings ohne die Artefakte und eine max Länge von 10.240 Werten.


Kann man eine Neue Matrix mit den Werten eines speziellen Bereiches des Vektores A, B oder C erstellen?

z.B. A_neu = A(0:2700,3000:7000,9000:10.240)
B_neu = B (0:3000,3500:9:000)
C...

Anschließend sollen A, B und C in einer neuen Matrix Z gemittelt werden.

Ich wäre euch sehr dankbar, wenn ihr mir helfen könntet.

Viele Grüße
Dom
Private Nachricht senden Benutzer-Profile anzeigen


gs
Forum-Century

Forum-Century


Beiträge: 171
Anmeldedatum: 17.03.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.07.2016, 10:43     Titel:
  Antworten mit Zitat      
Hi,

erstmal wenn du einen Vektor hast, kannst du nicht beim Element 0 anfangen, sondern du musst beim Element 1 anfangen.

Dann wäre eine einfache Möglichkeit sich Teilvektoren zu bauen:

Code:
A_neu = A(1:2700,:);
A_neu = [A_neu; A(3000:7000,:)];
A_neu = [A_neu; A(9000:10240,:)];

B_neu = B(1:3000);
B_neu = [B_neu; B(3300:7000,:)];
B_neu = [B_neu; B(9000:10240,:)];

C_neu = C(1:2700,:);
C_neu = [C_neu; A(3000:7000,:)];
C_neu = [C_neu; A(9000:10240,:)];

Z = [A_neu B_neu C_neu];


Du musst nur aufpassen, dass die Zeilenanzahl aller Vektoren gleich lang ist, sonst kannst du keine Matrix daraus bauen.

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
gs
Forum-Century

Forum-Century


Beiträge: 171
Anmeldedatum: 17.03.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.07.2016, 10:47     Titel:
  Antworten mit Zitat      
Alternativ kannst du die Vektoren auch in einer Programmzeile aufstellen:

Code:
A_neu = [A(1:2700,:); A(3000:7000,:); A(9000:10240,:)]
Private Nachricht senden Benutzer-Profile anzeigen
 
gs
Forum-Century

Forum-Century


Beiträge: 171
Anmeldedatum: 17.03.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.07.2016, 10:53     Titel:
  Antworten mit Zitat      
Achja, das mitteln deiner Matrix geht ganz einfach mit den mean-Befehl:

Code:
mittel = mean(Z,2);
Private Nachricht senden Benutzer-Profile anzeigen
 
DoM777
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 21.07.16
Wohnort: ---
Version: 7.11.0 (2011b)
     Beitrag Verfasst am: 21.07.2016, 11:56     Titel:
  Antworten mit Zitat      
Danke schon mal für die schnelle Antwort.
Leider verschiebt sich das Signal sodass der Fehler der nicht mit Übernommen werden soll bestehen bleibt, auch wenn ich den Bereich anpasse.

Ich hab in A 2 Artefakte im Bereich von 2802 - 3015 und 8960 - 9235

wenn ich jetzt folgendes mache:

Code:
A_neu = A(1:2801,:);
A_neu = [A_neu; A(3015:8959,:)];
A_neu = [A_neu; A(9236:13040,:)];


habe ich die Fehler raus aber die Länge variert je nach Bereich den ich wähle.
Kann man festlegen das A_neu insgesamt eine länge von 10240 Werten hat und diese nicht überschreitet?
Wenn ich manuell die Bereiche eingeben muss um auf genau die 10240 Werte zu kommen ist das sehr mühselig.

Z = [A_neu B_neu C_neu];
geht leider nicht.
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.466
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 21.07.2016, 12:12     Titel:
  Antworten mit Zitat      
Mal einen Schritt zurück. Sind diese "Artefakte" einfach nur merkwürdige grafische Effekte, oder sind es Ausreisser in der Daten? Es gibt Verfahren in der Stastistik zu Letzterem und natürlich sind die auch in MATLAB vorhanden. Aussreissertests oder (Glättungs)-Filter z.B.

Und die Skalierung auf eine feste Vektorlänge ist dann doch eine davon unabhängige Thematik, oder?

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
DoM777
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 21.07.16
Wohnort: ---
Version: 7.11.0 (2011b)
     Beitrag Verfasst am: 21.07.2016, 12:20     Titel:
  Antworten mit Zitat      
Genau, es sind Ausreiser, die aus den Daten entfernt werden sollen.
Das ganze Signal soll danach von 30s auf 20 s gekürzt werden.
VG Dominic
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.466
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 21.07.2016, 12:23     Titel:
  Antworten mit Zitat      
Fein. Die beste Technik kann man aber nur empfehlen, wenn man das Signal kennt. Oder in der MATLAB Doku nach "oulier" suchen.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
DoM777
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 21.07.16
Wohnort: ---
Version: 7.11.0 (2011b)
     Beitrag Verfasst am: 21.07.2016, 12:25     Titel:
  Antworten mit Zitat      
Danke ich werde mal in der Doku danach suchen.
Ansonsten lad ich später noch ein Bsp. File hoch.
Danke bereits für den Tipp
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



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.