goMatlab - Mein MATLAB Forum

Mein MATLAB Forum

 
Login  | Registrieren
Bücher:

Differentialgleichungen mit MathCad und MATLAB

Fachkräfte:
Softwareentwickler - Schwerpunkt Codegenerierung aus Matlab/Simulink (m/w)
Modellentwicklung und automatische Codegenerierung mittels Matlab/Simulink
SILVER ATENA Electronic Systems Engineering GmbH - München

Applikations-Ingenieur Messtechnik (m/w)
Technische Kundenberatung, Schulungen
LeCroy Europe GmbH - Deutschland, Österreich, deutschsprachige Schweiz

Applikationsingenieur Rapid Control Prototyping (w/m)
Projektierung und Inbetriebnahme von Entwicklungsplattformen für automotive Steuergeräte
dSPACE GmbH - Paderborn

TargetLink-Applikationsingenieure (w/m)
Modellbasierte Entwicklung und Seriencodegenerierung, Betreuen des Einsatzes von TargetLink beim Kunden
dSPACE GmbH - Holzgerlingen, Pfaffenhofen

Ingenieurinnen und Ingenieure
Software-Engineering, modellbasierte Entwicklung, Algorithmenentwicklung
ITK Engineering AG - verschiedene Standorte

weitere Angebote

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite 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: 1064
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: 1064
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
Forum-Guru
Forum-Guru

Beiträge: 390
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 6.5, 2009a
     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



Options and Permissions
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2010 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.