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

Matrix nach Werten der ersten Spalte spalten

 

Morad
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 14.10.15
Wohnort: München
Version: ---
     Beitrag Verfasst am: 23.10.2015, 11:28     Titel: Matrix nach Werten der ersten Spalte spalten
  Antworten mit Zitat      
Hallo

ich hab folgendes problem,

ich versuche eine Matrix nach den Werten der ersten Spalte zu teilen und in kleinere Matrizen zu speichern.

Bsp:
A=
1 2 3 4
1 3 5 9
1 4 2 6
2 3 7 4
2 5 2 4
.
.
.
soll werden
A1=
1 2 3 4
1 3 5 9
1 4 2 6

A2=
2 3 7 4
2 5 2 4
.
.
.

A3=...

Irgend eine Idee.

Besten Dank.
_________________

12
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 23.10.2015, 12:01     Titel:
  Antworten mit Zitat      
einen index im namen zu verstecken ist eine schlechte idee. einen index sollte man immer als index benutzen. cellarrays würde sich anbieten auf den ersten blick
ich denke eine for schleife in verbindung mit dem unique befehl ist die simpelste lösung.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Morad
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 14.10.15
Wohnort: München
Version: ---
     Beitrag Verfasst am: 23.10.2015, 13:12     Titel:
  Antworten mit Zitat      
vielen Danke erstmal für den Hinweis. Da ich ein Matlab frischling bin, kannte ich diesen Befehl gar nicht.

ich habe weiter versucht das Problem mit der for Schleife in Verbindung mit unique zu lösen, ich bekomme es nicht hin oder ich verstehe nicht wie ich es angehen soll.
_________________

12
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 23.10.2015, 13:13     Titel:
  Antworten mit Zitat      
Zitat:
ich habe weiter versucht das Problem mit der for Schleife in Verbindung mit unique zu lösen,

wenn du den code dazu nicht postest kann ich dir auch nicht sagen was du fallsch machst oder verbesserungsvorschläge machen.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Morad
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 14.10.15
Wohnort: München
Version: ---
     Beitrag Verfasst am: 23.10.2015, 13:25     Titel:
  Antworten mit Zitat      
Sorry das habe ich vergessen.


Code:
for i = 1:length(A(:,1))
    C = cell(i,i);
    C = unique(A(:,1));
end


[EDITED, Jan, Bitte Code-Umgebung verwenden - Danke!]
_________________

12
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 23.10.2015, 13:40     Titel:
  Antworten mit Zitat      
hmm und was soll der code machen?
die zeile
Code:
überschreibt dir jedesmal alles mit einem neuen lehren cell array der größe ixi
Code:
hier überschreibst du dann das cell array mit den einzelnen einträgen aus der ersten spalte von A.
das unique dient dazu rauszufinden welche verschiednen werte du in der ersten spalte hast. das gehört also for die schleife.
wenn du dann das cell voerher erstellen willst dann machst du das in der größe der anzahl der einzelnen werte nx1 und nicht nxn.
und dann gehst du alle unique werte durch und packst in jedes einzelne cell element die matrix die du da drin haben willst
Code:

a=unique(A(:,1))%verschiendenen zahlen raussuchen
c=cell(numel(a),1)
for k=1:numel(a)
c{k}=A(A(:,1)==a(k),:)
end
end

_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Morad
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 14.10.15
Wohnort: München
Version: ---
     Beitrag Verfasst am: 23.10.2015, 14:19     Titel:
  Antworten mit Zitat      
Ach so funktionniert das!!! erstmal die Werte raussuchen danach den Cell anlegen und füllen!!!

Auf jeden Fall vielen herzlichen Dank, es tut was es soll Very Happy .
_________________

12
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.