|
|
|
Wie greife ich auf einzelne Elemente eins Char-Array zu? |
|
| Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.05.2017, 21:42
Titel: Wie greife ich auf einzelne Elemente eins Char-Array zu?
|
 |
| |
 |
|
Moin Leute, ich bin blutiger Matlabanfänger wie ihr gleich sicherlich feststellen werdet.
Mein Problem liegt darin, dass ich ein Skript schreiben soll welches verschiedene Zahlensysteme in ein beliebiges anderes umrechnet.
Jetzt bin ich beim Hexadezimalsystem angelangt und stehe auf dem Schlauch.
Hier gibt es ja die Möglichkeit auch die Buchstaben von A-F mit einzubringen. Wenn jetzt die Eingabe erfolgt, als Beispiel
steht das F ja für die Zahl 15, wie kann ich es am elegantesten ersetzen?
Wenn ich es mit
versuche erhalte ich ja die Zahl 12315, leider kann ich damit nicht weiter rechnen da in der kommenden Schleife jedes Element einzeln berechnet wird. Wie schaffe ich es nun also, dass ich den String in der Eingabe so formatiere, dass das F mit der 15 als ganzes ersetzt wird?
Ich hoffe es war halbwegs verständlich, ich weiß nicht wie ich es sonst formulieren soll.
Ich bin über jede Hilfe dankbar aber bitte versucht es so leicht wie möglich für mich zu formulieren.
Liebe Grüße
|
|
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 26.05.2017, 22:08
Titel:
|
 |
Hallo,
es ist ja nicht nur, dass bei Hexadezimalzahlen auch A-F vorkommen können. Auch die anderen Ziffern werden anders interpretiert, hier 1*16^3 + 2*16^2 + 3*16 + 15.
Es gibt eine Funktion, die die Umrechnung übernimmt:
Grüße,
Harald
|
|
|
|
| Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.05.2017, 22:23
Titel:
|
 |
Vielen Dank für die schnelle Antwort
Dass die anderen Zahlen auch umgewandelt werden ist mir klar, das habe ich bereits mit einem Code geschafft, mein Problem waren bislang nur die Buchstaben.
Ich denke die Funktion hex2dec ist zwar schön und gut aber nicht gewollt vom Auftraggeber. Aber zur Not werde ich das berücksichtigen, vielen Dank
Liebe Grüße
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 27.05.2017, 19:53
Titel:
|
 |
Hallo,
warum sollte ein Auftraggeber etwas gegen die Verwendung von Funktionen haben, die mit MATLAB mitgeliefert werden? Es ist doch gerade eine Stärke von MATLAB, dass eine riesige Menge von bewährten Funktionen zur Verfügung steht.
Grüße,
Harald
|
|
|
|
| Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.05.2017, 11:49
Titel:
|
 |
Das ist eine Aufgabe für die Uni, und die Dozenten sind ziemlich pingelig. Ich denke aber ich werde versuchen in diesem Fall die mitgelieferte Funktion zu verwenden da ich sonst nicht voran komme.
Liebe Grüße
|
|
|
|
| Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.05.2017, 11:53
Titel:
|
 |
| Harald hat Folgendes geschrieben: |
Hallo,
es ist ja nicht nur, dass bei Hexadezimalzahlen auch A-F vorkommen können. Auch die anderen Ziffern werden anders interpretiert, hier 1*16^3 + 2*16^2 + 3*16 + 15.
Es gibt eine Funktion, die die Umrechnung übernimmt:
Grüße,
Harald |
Mit der Funktion muss ich die Zahl im hexadezimalsystem ja als String angeben, wie kann ich die Eingabe in einer Funktion als String tätigen?
Ihr merkt, ich bin wirklich ein Anfänger und am verzweifeln
Liebe Grüße
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 28.05.2017, 14:49
Titel:
|
 |
Hallo Anonymous,
| Zitat: |
wie kann ich die Eingabe in einer Funktion als String tätigen?
|
In der Code-Zeile wird doch bereits ein Input als String angegeben. Wo genau ist also das Problem?
Gruß, Jan
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 28.05.2017, 14:50
Titel:
|
 |
Hallo,
| Zitat: |
| Mit der Funktion muss ich die Zahl im hexadezimalsystem ja als String angeben, wie kann ich die Eingabe in einer Funktion als String tätigen? |
So, wie in meinem Beispiel oder auch den Beispielen in der Doku.
Wenn du etwas anderes versuchst und das nicht klappt, dann poste das bitte.
Grüße,
Harald
|
|
|
|
| Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.05.2017, 19:28
Titel:
|
 |
Das Problem ist, dass ich eine Funktion schreiben soll die mehrere verschiedene Zahlensysteme in einer Funktion umwandelt.
Ich habe noch weitere Umwandlungen in der Funktion untergebracht die ich aber an dieser Stelle nicht poste da sie ja irrelevant sind.
Als Error bekomme ich folgendes:
Liebe Grüße
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 28.05.2017, 21:32
Titel:
|
 |
Hallo,
in meinem Beispiel ist die Zeichenkette in ' '.
In der Doku ist im Beispiel die Zeichenkette in ' '.
Das hat einen Grund: die ' ' werden benötigt.
Wenn du die ' ' also auch setzt, bekommst du die Fehlermeldung nicht mehr.
Grüße,
Harald
|
|
|
|
| Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 29.05.2017, 15:04
Titel:
|
 |
Dankeschön. Hatte noch woanders einen Fehler wieso ich nicht weiter kam.
Jetzt frage ich mich noch, wie ich aus dem String '123F' einen Vektor in der Form [1 2 3 F] machen kann Oder ist das nicht möglich?
Ich möchte dann halt der einfachheit halber das F grundsätzlich zu einer 15 machen um dann weiter zu rechnen.
Die fertigen Funktionen hex2dec dürfen wir auf Nachfrage nicht verwenden.
Liebe Grüße
|
|
|
|
| Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 29.05.2017, 15:09
Titel:
|
 |
Ok es hat sich erledigt. Vielen lieben Dank an alle die mir geholfen haben.
Super Community hier
|
|
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|