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

Character in Zahlen umwandeln

 

whitejack

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.07.2008, 14:13     Titel: Character in Zahlen umwandeln
  Antworten mit Zitat      
Hallo ich hab eine hoffentlich einfache Frage:

Und zwar hab ich einen Vektor mit mehreren als String abgespeicherten Buchstaben (z.B.'E')
Da ich diesen Vektor gerne mit einem Zahlenvektor verbinden möchte muss ich wohl vorher die Buchstaben in Ziffern oder Zahlen umwandeln.

Gibt es da eine einfache schnelle Möglichkeit die den ganzen Vektor in einem Schlag umwandelt?

Liebe Grüße

Whitejack


keloid
Forum-Century

Forum-Century


Beiträge: 216
Anmeldedatum: 04.10.07
Wohnort: ---
Version: 7.5.0.342 (R2007b)
     Beitrag Verfasst am: 03.07.2008, 16:44     Titel:
  Antworten mit Zitat      
Prinzipiell kann man Buchstaben in Zahlen umwandeln, allerdings stellt sich mir die Frage, inwieweit das sinnvoll ist ;)

Der Code dafuer waere beispielsweise:
Code:
zahlen = cast(strings,'int32');


strings ist dabei Dein Buchstabenvektor, zahlen ist der resultierende Zahlenvektor. Dabei wird jeder Buchstabe einzeln in eine Zahl transformiert.
Private Nachricht senden Benutzer-Profile anzeigen
 
whitejack

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.07.2008, 19:50     Titel: Berlin
  Antworten mit Zitat      
Ich werd es morgen gleich mal ausprobieren.

Sinnvoll ist es deshalb, weil ich somit alle Daten in einer Matrix habe. Man kann ja Zahlen und Character Variablen nicht mischen.

Und ob die Bahn auf der das Produkt läuft nun A,B,C,... oder 1,2,3 heisst ist im Endeffekt ja egal, bzw. kann wieder zurückgerechnet werden, bei belieben.

Oder gibt es eine elegantere Lösung?
 
keloid
Forum-Century

Forum-Century


Beiträge: 216
Anmeldedatum: 04.10.07
Wohnort: ---
Version: 7.5.0.342 (R2007b)
     Beitrag Verfasst am: 03.07.2008, 20:39     Titel:
  Antworten mit Zitat      
Das ist wohl wahr.

Dann musst Du aber aufpassen, weil die Buchstaben so in ASCII-Zahlenwerte geaendert werden. Damit ist "A" nicht gleich Eins. Das laesst sich aber loesen, indem man einfach bei jeder Umrechnung die Umrechnung von A abzieht und wieder eins dazu addiert.
Private Nachricht senden Benutzer-Profile anzeigen
 
dib0r
Forum-Guru

Forum-Guru


Beiträge: 413
Anmeldedatum: 09.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.07.2008, 21:46     Titel: Re: Berlin
  Antworten mit Zitat      
whitejack hat Folgendes geschrieben:

Oder gibt es eine elegantere Lösung?


Hallo,

ich weiss zwar nicht ob es dir hilft, aber sogenannte Cell-Arrays können Strings und Zahlen abspeichern. Falls es dich interessiert
Code:
.

MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
whitejack

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.07.2008, 11:38     Titel:
  Antworten mit Zitat      
Es funktioniert leider nicht Sad

EDU>> zahlen = cast(D2,'int32');
??? Error using ==> cast
Conversion to int32 from cell is not possible.

Ausschnitt aus dem Vektor D2:

'F'
'E'
'F'
'E'
'E'
'E'
'F'
'G'
'E'
'G'

Wenn ich einen eigenen Vektor erstelle mit Buchstaben sind die Anführungszeichen nicht da und die Umwandlung klappt, hier jedoch sind Anführungszeichen da und es klappt nicht.

Worun liegt das?
 
whitejack

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.07.2008, 23:23     Titel:
  Antworten mit Zitat      
noch einer ne Idee?
 
dib0r
Forum-Guru

Forum-Guru


Beiträge: 413
Anmeldedatum: 09.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.07.2008, 00:25     Titel:
  Antworten mit Zitat      
Hallo,

ich schätze das liegt daran dass du deinen ganzen Cell-Array casten willst. Versuch mal
Code:
zahlen = cast(cell2mat(D2),'int32');
Ich habe allerdings meine Bedenken dass dann ein Cell-Array die richtige Lösung für dich ist. Ein Cell-Array kann parallel verschiedene Datentypen von unterschiedlicher Größe speichern. Falls du wirklich nur 1 Buchstaben pro Feld hast, reicht meiner Meinung nach ein ein char-Array aus.

MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
whitejack

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.07.2008, 16:19     Titel:
  Antworten mit Zitat      
Vielen Dank es hat funktioniert.

In dem Array sind zwar nur Char, aber hab ihn in einem weiteren Schritt dann ja mit weiteren Werten verbunden.

Das Thema ist also beantwortet =)
 
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 - 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.