Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   
Bücher:

Fachkräfte:
Projektingenieur / Projektingenieurin Maschinenbau mit Kenntnissen in Matlab / Simulink
Durchführung von Simulationen und Berechnungen
HBI Haerter GmbH - Heidenheim an der Brenz (nahe Ulm)

System-Entwickler (m/w)
Analyse und Spezifikation von Systemanforderungen & Abstimmung von Anforderungen
MicroNova AG - Friedrichshafen

Ingenieur (w/m) modellbasierte Entwicklung / Embedded Programmierung
Organisation und Durchführung von Projekten zur Integration von TargetLink in aktuelle Entwicklungsprozesse
dSPACE GmbH - Pfaffenhofen

E-Drive Entwicklungsingenieur Hochvolt-Ladesystem (m/w)
Spezifikation von Lademanagement- sowie Ladeinterfacefunktionen im Lastenheft für die Serienentwicklung
MBtech Group GmbH & Co. KGaA - München

Software-Entwickler (m/w) Automotive
Implementierung und Verifizierung von Software-Modulen
MBtech Group GmbH & Co. KGaA - Neu-Ulm, Lindau

weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Matrix mehrere Zeilen und Spalten löschen

 

Ninawe
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 07.02.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.02.2014, 16:16     Titel: Matrix mehrere Zeilen und Spalten löschen
  Antworten mit Zitat      
Hallo,
ich habe ein Frage zur Verkleinerung von Matrizen:
Ich habe zum Beispiel diese 6x9 Matrix gegeben:
Code:
A = [1,2,3,4,5,6,7;2,3,4,5,6,7,8;3,4,5,6,7,8,9;4,5,6,7,8,9,4;1,2,4,5,6,7,1;3,4,5,6,7,9,2]
nun möchte ich die Matrix "mittig" verkleinern, also quasi den Rand abschneiden. Welche Zeilen ich löschen möchte, weiß ich, also hier wäre das die 1., 2., 5.,6. Zeile und danach dann die 1.,2.,3., 7.,8.,9. Spalte, sodass das so aussieht:
Code:
A_neu = [5,6,7;6,7,8]

Wenn ich das mit einer for-Schleife versuche
z.B.:
Code:
for i = 1:3
A(i,:) =[];
end

ändert sich in jeder Schleife der Wert von i löscht mir jede zweite Zeile.

Kann mir bitte jemand helfen?
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.849
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 17.02.2014, 16:23     Titel:
  Antworten mit Zitat      
Hallo

Zitat:

danach dann die 1.,2.,3., 7.,8.,9. Spalte

in deinen Beispiel hat deine Matrix A nur 7 Spalten
anlehnend an deiner Beispiel so:
Code:

A = [1,2,3,4,5,6,7;2,3,4,5,6,7,8;3,4,5,6,7,8,9;4,5,6,7,8,9,4;1,2,4,5,6,7,1;3,4,5,6,7,9,2]
A([1,2,5,6],:)=[]
A(:,[1,2,6,7],:)=[]

 
Private Nachricht senden Benutzer-Profile anzeigen
 
ninawe49

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.02.2014, 16:41     Titel:
  Antworten mit Zitat      
Super, genau das Suche ich. Allerdings habe ich eine sehr viel größere Matrix. Wie kann ich zum Beispiel die erste Bis 120. Zeile löschen ohne alle Zeilen eingeben zu müssen? Geht Sowas wie
A([1:120],:)=[];
Hab leider Grade kein matlab zum testen da.
Vg Ninawe
P. S. Sorry dass ich als Gast Posten muss, Check das auf dem Handy Grade nicht ;-)
 
denny
Supporter

Supporter



Beiträge: 3.849
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 17.02.2014, 16:44     Titel:
  Antworten mit Zitat      
Hallo

ja das geht, wirklich so
Code:


A(1:120,:)=[];
 
Private Nachricht senden Benutzer-Profile anzeigen
 
ThKo26
Forum-Anfänger

Forum-Anfänger


Beiträge: 37
Anmeldedatum: 21.09.17
Wohnort: ---
Version: 2015b
     Beitrag Verfasst am: 12.01.2018, 12:59     Titel:
  Antworten mit Zitat      
Hallo zusammen,

ich habe eine frage zu dem Thema.

ich habe eine Liste mit readtable eingelesen.

nun möchte ich mehrere Spalten löschen und unter einem anderen Namen abspeichern, damit mir die eingelesen Liste im Urpsung erhalten bleibt.
Code:
data_RH = tbl_P([1,2,3,4,8,9],:) = [];
 


ich habe zweimal ein "=". stehe gerade auch auf dem Schlauch. :/

gerade versuche ich mit der Numerierung die Spalten zu löschen, aber diese Spalten haben einen Namen.
Code:
data_RH = tbl_P([tbl_DS.Info,tbl_DS.Kommentar,tbl_DS.Beschreibung,4,8,9],:) = [];
 


das wäre für mich die logische Schlussfolgerung. Problem ein bleibt aber weitherhin bestehen.

Wieso nicht mit zahlen arbeiten?
Es können mehrere Messungen gemacht werden, die gelöschten Spüalten müssen nicht immer die angegeben zahlen sein.

Danke für eure Hilfe.

Grüße
Thomas
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 17.801
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2014a
     Beitrag Verfasst am: 12.01.2018, 13:24     Titel:
  Antworten mit Zitat      
Hallo,

in der ursprünglichen Frage geht es um Matrizen, hier um Tables. Wenn kein enger Bezug zum ursprünglichen Thema besteht, dann bitte ein neues aufmachen. So liest man alles durch nur um festzustellen, dass die Frage unabhängig von der ursprünglichen ist.

Teil 1 kannst du so umschreiben:
Code:
data_RH = tbl_P;
data_RH ([1,2,3,4,8,9],:) = [];

Allerdings würdest du damit Zeilen, nicht Spalten löschen.

zu Teil 2:
man kann auf die Zeilen/Spalten entweder mit Namen oder mit Zahlen zugreifen. Beides mischen geht nicht.

Ein reproduzierbares Beispiel ist grundsätzlich hilfreich.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
ThKo26
Forum-Anfänger

Forum-Anfänger


Beiträge: 37
Anmeldedatum: 21.09.17
Wohnort: ---
Version: 2015b
     Beitrag Verfasst am: 12.01.2018, 13:49     Titel:
  Antworten mit Zitat      
Fragestellung zu table wird hier weitergeführt.

http://www.gomatlab.de/viewtopic,p,181526.html#181526

Grüße
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 - 2018 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.