WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Vektor anhand von Index-Vektor verkürzen

 

sexyphil
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 58
Anmeldedatum: 19.08.14
Wohnort: Bayern
Version: 2013a
     Beitrag Verfasst am: 25.06.2015, 14:57     Titel: Vektor anhand von Index-Vektor verkürzen
  Antworten mit Zitat      
Hallo,

habe folgendes Problem. Ich habe zwei Vektoren unterschiedlicher Länge (time_c & time_b).
Mit

Code:
[~,i]=setdiff(time_c,time_b);


finde ich die Indices, die ich aus time_c behalten möchte. Leider finde ich gerade keinen passenden Befehl der mir anhand der Indizes aus i die Werte aus time_c nimmt und mir in einen neuen Vektor schreibt.

Wenn ich

Code:
[~,i]=setdiff(time_b,time_c);


erhalte ich leider nur den ersten Wert von time_b?!

Ansonsten könnte ich

Code:
time_c(i)=0;
und dann alle 0 löschen.

Daten habe ich angehängt. time_a ist der Vektor der rauskommen sollte.

Danke & Grüße

data.zip
 Beschreibung:

Download
 Dateiname:  data.zip
 Dateigröße:  3.12 MB
 Heruntergeladen:  308 mal
Private Nachricht senden Benutzer-Profile anzeigen


sexyphil
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 58
Anmeldedatum: 19.08.14
Wohnort: Bayern
Version: 2013a
     Beitrag Verfasst am: 25.06.2015, 15:13     Titel:
  Antworten mit Zitat      
Code:
a=time_c(i);


ich entschuldige mich!
Private Nachricht senden Benutzer-Profile anzeigen
 
sexyphil
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 58
Anmeldedatum: 19.08.14
Wohnort: Bayern
Version: 2013a
     Beitrag Verfasst am: 25.06.2015, 16:29     Titel:
  Antworten mit Zitat      
Eine Frage hätte ich noch. Wie schaffe ich es, dass er nicht nur einen Vektor sondern eine ganze Matrix indiziert? Also der Befehl

Code:
a=time_c(i)


und time_c ist dabei eine Matrix mit mehreren Spalten


Mein Problem ist, dass ich ein Cell-Array habe und Cell-Array{1,1} entspricht der Matrix
Code:

 cell-array_neu{1,1}=cell-array{1,1}(index);


schreibt er nur die erste Spalte aus der Matrix in das neue Cell-Array!
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 25.06.2015, 16:38     Titel:
  Antworten mit Zitat      
Hallo,

ich verstehe den Zusammenhang zwischen den beiden letzten Kommentarzeilen nicht.

Wenn time_c eine Matrix (also ein 2D Double Array) ist, dann bekommst du mit
Code:
a=time_c(i, :)

die i-ten Zeilen. Wenn du die i-ten Spalten willst, i und : vertauschen.

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





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.