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

Wie strcat mit Schleife bzw. Laufvariable kombinieren???

 

Matthias2

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.07.2010, 16:27     Titel: Wie strcat mit Schleife bzw. Laufvariable kombinieren???
  Antworten mit Zitat      
Hallo Zusammen,

hab noch nie hier in dem Forum einen Eintrag geschrieben, aber jetzt will ich es einmal versuchen. Wink
Muss echt sagen, dass das Forum hier wirklich klasse ist und viele Mitglieder sehr hilfreiche Antworten und Hilfestellungen liefern!!!
Konnte schon viele nützliche Anregungen für mich als Matlab-Anfänger finden! Smile

Nun zu meinem Probelm:

Ich versuche aus verschiedenen einzelnen Strings einen einzigen zu machen. mit dem strcat-Befehl funktioniert das recht gu, aber nur, wenn man die Anzahl der Elmente gneua weiß. Ich will das nun aber in einer Schleife nutzten.

Das Problem sieht etwa wie folgt aus:

[code]

time_getr(1)='1'
time_getr(2)='2'
time_getr(3)='3'
.
.
.
.

for i=1:1:length(time_getr)
time=strcat(time_getr(1), time_getr(2), time_getr(3),...)
end

time=123...

[code]

Ich bräucht nun irgendeine Möglichkeit um beliebeig viele Strings aneinanderzuhängen....

Ich hoffe, dass mir irgendjemand dabei helfen kann!!!


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 29.07.2010, 17:08     Titel:
  Antworten mit Zitat      
Ich stelle mir das so vor:

Code:

s=[];
for k=1:40
    s=[s, num2str(k)]
end
 


Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Matthias2

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.07.2010, 18:22     Titel: Vielen Dank für die Hilfe
  Antworten mit Zitat      
Hallo Andreas,

vielen lieben Dank für die super schnelle Antwort!

Ich glaub ich hab mich etwas falsch ausgedrückt bzw. Dir mein Problem vielleicht nicht richtig geschildert.

Ich habe einzelne Strings z.B.:
a = '5' '5'
b = '6' '3' '6'
c = '4' '5' '6' '7' ..... u.s.w.

Mittels des Befehls strcat möchte ich gerne aus den einzelen Strings einen einzigen string machen

Also
a = '55' oder
b = '636'
c = '4567' ..... u.s.w.

Da sich die Anzahl der Einzelstrings
bei a wären es am Anfang 2
bei b wären es am Anfang 3
bei c wären es am Anfang 4
ändern, möchte ich gerne, dass mir der Befehl strcat das löst.
Aber wie?

Die Syntax ist ja:
t = strcat(s1, s2, s3, ...)
Nur kann bei mir die Anzahl der s beliebeig variieren.

Bräuchte ich da einen Befehlt wie


strcat(s(i))

????

Danke nochmal für die super schnelle Antwort!!!

Gruß
Matthias
[/code]
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 30.07.2010, 12:55     Titel:
  Antworten mit Zitat      
Hallo - in der tat verstehe ich es immer noch nicht ganz. Wenn es so ist wie im ersten Beispiel:

Code:

time_getr(1)='1'
time_getr(2)='2'
time_getr(3)='3'
 


Dann ist ja schon alles ein String, nämlich

Code:

time_getr
 


Im zweiten Beispiel ist es verwirrend, weil es diese Syntax gar nicht gibt:

Code:

a = '5' '5'
 


Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 30.07.2010, 14:15     Titel:
  Antworten mit Zitat      
Hallo Matthias,

wenn Du eine Liste von Strings hast, kannst Du diese im Allgemeinen nicht als CHAR-Matrix speichern, da sie unterschiedlich lang sind. Dann speichert man sie in einem CELL string:
Code:

C = {'string1', 'string2', 'string23'};
 

Oder mit genau gleichem Ergebnis:
Code:

C{1} = 'string1';
C{2} = 'string2';
C(3) = {'string23'};  % Auch möglich
 

Um die Strings dann aneinander zu hängen, gibt's mehrere Möglichkeiten:
Code:

CList_1= strcat(C{:});
CList_2 = cat(2, C{:});
CList_3 = sprintf('%s', C{:});
CList_4 = horzcat(C{:});
 


Gruß, Jan
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.