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

zeichenkette referenz

 

testier

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.03.2013, 22:59     Titel: zeichenkette referenz
  Antworten mit Zitat      
Guten abend,

Code:
Sprache = ['java' 'c++' 'php'];

langu = Sprache(3);

funktionA(langu);
 


funktioniert nicht..


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 29.03.2013, 00:18     Titel: Re: zeichenkette referenz
  Antworten mit Zitat      
Hallo testier,

"Funktioniert nicht" ist immer eine frustrierende Aussage in einem Forum. Man weiß, dass es Probleme gibt, man würde gerne helfen, aber ohne irgendein Detail zu kennen, kann man es einfach nicht.

Also: Wieso meinst Du, dass dies nicht funktioniert? Wenn es eine Fehlermeldung gibt, poste sie hier. Wenn das Ergebnis nicht Deinen Erwartungen entspricht, erkläre beides detailiert.

Code:
Sprache = ['java' 'c++' 'php'];
% Das hängt Strings aneinander. Equivalent:
Sprache = 'javac++php';

% Dies gibt den 3. Buchstaben des Strings zurück:
langu = Sprache(3);

% Aber was macht dies?! Können wir das wissen?
funktionA(langu);

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
testier

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.03.2013, 00:26     Titel:
  Antworten mit Zitat      
upssala sorry jan,

ich wollte eigentlich, dass er die die zeichenkette php in die funktion übergibt
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 29.03.2013, 00:36     Titel: Re: zeichenkette referenz
  Antworten mit Zitat      
Hallo testier,

Ah, ja. Dann:
Code:
Sprache = {'java', 'c++', 'php'};  % Geschweifte Klammern->Cell String

% Indizieren mit geschweifter Klammer: Cell String -> String
langu = Sprache{3};

funktionA(langu);

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.03.2013, 21:44     Titel:
  Antworten mit Zitat      
Kann man zeichenketten nicht in Matrix abspeichern
 
Andy386
Forum-Guru

Forum-Guru


Beiträge: 485
Anmeldedatum: 24.06.09
Wohnort: ---
Version: 7.1/8
     Beitrag Verfasst am: 31.03.2013, 04:06     Titel:
  Antworten mit Zitat      
klar geht das auch... Twisted Evil
_________________

Ich hasse es wenn die Leute Fragen stellen, man dann versucht sich Mühe zu geben, und diejenigen ihren Thread nie wieder besuchen...
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 01.04.2013, 12:01     Titel:
  Antworten mit Zitat      
Hallo

Man kann Zeichenketten auch als Matrix speichern, aber das ist nicht effizient:

1. Organisiert Matlab Arrays in Spalten. Wenn man also eine CHAR-Matrix bildet wie:
Code:
C = ['cat'; 'dog'; 'rat'];   % Semi-colons, not commas!

dann stehen im Speicher die Buchstaben 'cdr', 'aoa' und 'tgt' nebeneinander. Das Umwandeln in 'cat' etc benötigt also wildes Hüpfen im RAM, was immer mehr Zeit raubt als das Lesen benachbarter Speicherzellen.

2. Wenn die Strings unterschiedliche lang sind, wird rechts mit CHAR(0) aufgefüllt, da eine Matrix ja immer rechteckig sein muss. Dies muss dann beim Auslesen aus der CHAR-Matrix wieder berücksichtigt werden, da anders als in C ein CHAR(0) nicht automatisch ein String-Ende ist.

Deshalb ist ein Cell-String im Allgemeinen praktischer.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Andy386
Forum-Guru

Forum-Guru


Beiträge: 485
Anmeldedatum: 24.06.09
Wohnort: ---
Version: 7.1/8
     Beitrag Verfasst am: 01.04.2013, 13:41     Titel:
  Antworten mit Zitat      
gibt es eigentlich auch die Möglichkeit bei der Wiedergabe der char's auf den DOS-Zeichensatz umzuschwenken?
btw: Dateinamen mit char(255) haben immer so schön für Verwirrung gesorgt Smile
_________________

Ich hasse es wenn die Leute Fragen stellen, man dann versucht sich Mühe zu geben, und diejenigen ihren Thread nie wieder besuchen...
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.