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

cell array mit double array verbinden ?

 

jeko87
Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 21.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.07.2010, 21:49     Titel: cell array mit double array verbinden ?
  Antworten mit Zitat      
Hi,

ich hab eine kurze Frage.

und zwar will ich die Daten aus 2 Arrays miteinander verbinden.
Das Problem ist, dass eine ist ein "Cell-Array", hat nur eine Spalte, das andere ist ein "Double-Array" und hat 4 Spalten...

ich hab schon versucht mit
Code:

   complete = [array1, array2]
 

beide Arrays zu verbinden, krieg aber immer 'ne Fehlermeldung mit "horzcat"...

nun hab ich mir die beiden Variablen mal im Workspace angeschaut und glaub nun zu wissen, warum es halt nicht läuft...


kann mir jemand eine Lösung angeben ?


danke
mfG
Private Nachricht senden Benutzer-Profile anzeigen


Vito
Forum-Guru

Forum-Guru


Beiträge: 315
Anmeldedatum: 02.11.09
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 30.07.2010, 07:10     Titel:
  Antworten mit Zitat      
Moin,

schau dir folgende Befehle
Code:

an. Damit solltest du es hinbekommen Wink

Gruß,
Vito
Private Nachricht senden Benutzer-Profile anzeigen
 
jeko87
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 21.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.07.2010, 10:39     Titel:
  Antworten mit Zitat      
erstmal danke für deine Antwort...
also an sich hab ich auch gedacht, dass ich mein "Cell Array" in eine Struktur umwandeln kann, also mit "cell2struct"...

aber in der doku von Matlab komm ich nicht weiter, ich kriegs mit den Parameter nicht hin...

den egal was ich auch versuch, ich krieg immer die Fehlermeldung, dass die Dimensionen nicht passen...

hab auch die Variante mit "cat" probiert, aber auch hier das gleiche Problem.

so sehen meine Arrays aus:
double array:
Code:

1   444   111   45
2   555   111   50
3   555   111   55
4   666   111   60
.   .     .     .
 


cell array:
Code:

filename00001
filename00002
....
filename00999
filename01000
 


nun will ich beide zusammenfassen:
Code:

filename00001 1   444   111   45
filename00002 2   555   111   50
filename00999 3   555   111   55
filename01000 4   666   111   60
 


muss doch irgendswie möglich sein beide zu verbinden ?


danke
mfG
Private Nachricht senden Benutzer-Profile anzeigen
 
LittleX
Forum-Guru

Forum-Guru


Beiträge: 494
Anmeldedatum: 14.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.07.2010, 10:51     Titel:
  Antworten mit Zitat      
Hallo,

es ist möglich:

Code:

a = {'a','b','c'}'
b = rand(3,3)
c = [a,num2cell(b)]
 


Viele Grüße,

LittleX
Private Nachricht senden Benutzer-Profile anzeigen
 
Vito
Forum-Guru

Forum-Guru


Beiträge: 315
Anmeldedatum: 02.11.09
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 30.07.2010, 11:15     Titel:
  Antworten mit Zitat      
Hi,

hier das Ganze mit struct:
Code:

s = sturct('filename01',array(1,:),'filename',array(2,:))
 


Gruß,
Vito
Private Nachricht senden Benutzer-Profile anzeigen
 
jeko87
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 21.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.07.2010, 13:36     Titel:
  Antworten mit Zitat      
super. echt vielen dank
also
Code:

hat es gemacht...nun hab ich endlich alles in einem Array stehen Very Happy Very Happy

aber ich wollte es gerade mit dlmwrite in eine Textdatei schreiben, da sagt er mir, dass dlmwrite keine cell arrays lesen kann...

ich versteh Matlab einfach nicht
Private Nachricht senden Benutzer-Profile anzeigen
 
LittleX
Forum-Guru

Forum-Guru


Beiträge: 494
Anmeldedatum: 14.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.07.2010, 14:01     Titel:
  Antworten mit Zitat      
Hallo,

dlmwrite ist für "gemischte" Daten nicht der richtige Befehl.
Du kannst die Daten mit fprintf schreiben.

Code:

a = {'a','b','c'}';
b = rand(3,3);
c = [a,num2cell(b)];
d = c';
fid = fopen('test.txt','wt');
fprintf(fid,'%s %f %f %f\n',d{:});
fclose(fid);
 


Viele Grüße,

LittleX
Private Nachricht senden Benutzer-Profile anzeigen
 
jeko87
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 21.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.07.2010, 14:53     Titel:
  Antworten mit Zitat      
wow, super...
also das ist wirklich toll, kann dir nicht oft genug danken

danke danke

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