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 in eine Excel-Zelle

 

Duemmchen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.06.2009, 19:03     Titel: cell-array in eine Excel-Zelle
  Antworten mit Zitat      
Hallo, Ich bin totaler Matlab Neuling und habe ein wichtige Frage!

Ich soll verschiedene 'Texte' einlesen und diese sollen in eine Zelle in Excel exporrtiert werden. das geht aber wohl nicht! Ich habe es wie folg:

code:
Fehlervektor("Hier steht eine Zahl")=m;
m=l(k);
l(k)='verschieden Texte';

das heißt wenn Ich Fehlervektor ausgeben lass kommt in Matlab folgendes:

'Text1
'Text2'
'Text3'
'Text4'

Wenn Ich es jetzt mit xlswrite in Excel schreibe, bekomme Ich in der excelTabelle in jede Zeile einen Text!

z.B:

/// A
1 Text1
2 Text2
3 Text3
4 Text4

Also in die Felder A1bis A4! Er soll aber nur in Zelle A1 stehen! Geht das? Und wenn ja wie?


steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 22.06.2009, 19:16     Titel:
  Antworten mit Zitat      
Anderer Beitrag gelöscht! Bitte keine Doppelpostings!!!
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Duemmchen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.06.2009, 08:40     Titel:
  Antworten mit Zitat      
Entschuldigung, war ein Versehen, mein Internet hat gespinnt und gemacht was es wollte!

Gibt es denn eine Möglichkeit, das Array in eine Zelle zu schreiben?
Oder kann Ich alle Einträge zu einem großen String zusammenfassen?

Also das Ich habe'Text1 Text2 TExt3'
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 23.06.2009, 09:35     Titel:
  Antworten mit Zitat      
Moin,

versuch mal den Vektor in ein Cell-Array zu schreiben, so dass der komplette Vektor in einer Celle steht und diese dann in das Excel-Sheet zu schreiben:
Code:
FehlerCelle = cell{1,1};
FehlerCelle{1} = Fehlervektor;


Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Duemmchen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.06.2009, 10:00     Titel:
  Antworten mit Zitat      
Vielen Dank,

Ich habs versucht, bekomme aber den fehlercode:

"??? The result of calling the static method or constructor "cell"
cannot be indexed with cell array indexing.

Error in ==> test2 at 108
FehlerCelle = cell{1,1}; "


Ich würde es dann später so nach Excel schreiben lassen:
"lswrite('versuch2.xls', FehlerCelle(1), 'Tabelle1','C2');" ist das Richtig?

Thomas
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 23.06.2009, 10:53     Titel:
  Antworten mit Zitat      
Ok, gehen wir das Problem anders an. Wie liest du die Texte ein?

Code:
test = {sprintf('test1\ntest2\ntest3')};
xlswrite('test.xls', test, 'Tabelle1','A1');

Das ergibt bei mir einen 3-zeiligen Text in Zelle A1.

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Duemmchen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.06.2009, 11:18     Titel:
  Antworten mit Zitat      
Also wie gesagt, habe Ich ein Array Fehlervektor{};
dort stehen die verschiedenen Texte
'Text1' usw...

deine Lösung funktioniert soweit, nur das Ich anstelle von deiner Lösung mit test1, test2 usw. bei mir Fehlervektor{1} Fehlervektor{2} usw stehen.
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 23.06.2009, 11:27     Titel:
  Antworten mit Zitat      
steve hat Folgendes geschrieben:
Ok, gehen wir das Problem anders an. Wie liest du die Texte ein?

_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Dummchen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.06.2009, 11:30     Titel:
  Antworten mit Zitat      

cell-array in eine Excel-Zelle
Klicke hier, um den Artikel bei Amazon.de anzuschauen.

Ich hole die Texte aus einer Tabelle über deren Index!

1 'Text1'
2 'Text2'
3 'Text3'
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 23.06.2009, 11:33     Titel:
  Antworten mit Zitat      
Nochmal: Es geht mir um das "WIE". Ohne Code wird es schwierig dir zu helfen. Wink

Wie wird der Fehlervektor erstellt?
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Duemmchen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.06.2009, 11:47     Titel:
  Antworten mit Zitat      
AN gut, Ich schick dir einfach mal den COde, kann sein das es zu viel ist, wenn ja schon im vorrasu sorry!

Code:
Code:

mdfimport(FileName{anzahl},[],{
'F_M_Log_index_nvv_0'
'F_M_Log_index_nvv_1'
'F_M_Log_index_nvv_2'
'F_M_Log_index_nvv_3'
'F_M_Log_index_nvv_4'
'F_M_Log_index_nvv_5'
'F_M_Log_index_nvv_6'
'F_M_Log_index_nvv_7'
'F_M_Log_index_nvv_8'
'F_M_Log_index_nvv_9'},[],'ratestring');



actxserver('Excel.Application');

anfang='F_M_Log_index_nvv_'; %String-Komponenten
ende='_10ms';
Z=-1;


Zeile=0;
Fehlervektor={};
ausgabe='';



while(Z<9)                  %Hauptschleife
    Z=Z+1;                  %Zahl erhöhen ab 0
W=num2str(Z);               %Zahl in String umwandeln

Speicher=strcat(anfang,W,ende);  %String zusammenfügen
%disp(Speicher);                    %String ausgeben



i=0;
j=eval(Speicher); % HIER MUSS die Tabelle der Speicherzellen hin  FERTIG
l=Tabelle1;  % HIER MUSS die Tabelle mit dem ausgeschriebenen Text hin FERTIG


while(i<length(j))   % HIER MUSS anstelle von 9 die länge des arrays hin FERTIG
    i=i+1;
 
   
    if (j(i)~=0)    %prüfen ob ein Zahl in der Tabelle steht
        k=j(i);     % Hier wir die Nummer des Fehlers gespeichert
    end
   
   

end
%disp(k);    % Hier wird die Nummer des Fehlers ausgegeben

if (k~=0)
%    disp(l(k)); % Hier wird der Fehler-TEXT passend zur Nummer ausgegeben

m=l(k);

ausgabe=strvcat(ausgabe,l{k})


Zeile=Zeile+1;
Fehlervektor(Zeile)=m;

end

k=0;            %k NULL setzen, falls es der letzte Fehler war
Z=str2num(W);   %String wieder in Zahl umwandeln

end


Fehlervektor=Fehlervektor';
disp(Fehlervektor);



edit by steve: Code-Umgebung ergänzt. Bitte selbstständig formatieren!!! Danke!
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 23.06.2009, 12:00     Titel:
  Antworten mit Zitat      
Ich würde folgendes versuchen:
Code:
Fehlervektor=sprintf('%c%c\n',Fehlervektor,m);

_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Duemmchen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.06.2009, 12:18     Titel:
  Antworten mit Zitat      
Geht leider auch nicht, folgender Fehle.

Code:
??? Error using ==> sprintf
Function is not defined for 'cell' inputs.

Error in ==> testprint at 91
Fehlervektor=sprintf('%c%c\n',Fehlervektor,m);


gibt es nicht so was wie:
Pseudo Code:
sprintf('Element des VEktors' \n 'nächstes Element des Vektors')
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 23.06.2009, 12:21     Titel:
  Antworten mit Zitat      
Dann nimm die Zeile
Code:
Fehlervektor={};
oben weg und schreib ganz am Ende, wenn Fehlervektor fertiggestellt ist
Code:
Fehlervektor = {Fehlervektor};


Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?

Zuletzt bearbeitet von steve am 23.06.2009, 12:32, insgesamt 2-mal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Duemmchen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.06.2009, 12:27     Titel:
  Antworten mit Zitat      
Der FEhler bleibt der gleiche
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

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