Mhm ja, doch schon, aber die kann ich mit Hilfe von str2num wieder in Zahlenwerte umwandeln oder?
Könnte mein Ansatz zielführend sein oder gibts noch eine andere Möglichkeit die Einträge des Vektors vierstellig darzustellen?
Mhm ja, doch schon, aber die kann ich mit Hilfe von str2num wieder in Zahlenwerte umwandeln oder?
Schon, oder mit str2double. Ich vermute, du möchtest das vierstellige Format zu Darstellungszwecken nutzen, nicht um Berechnungen auszuführen? Dann könntest du B zur Darstellung nutzen und A für weitere Berechnungen.
TommyLeeJones hat Folgendes geschrieben:
Könnte mein Ansatz zielführend sein oder gibts noch eine andere Möglichkeit die Einträge des Vektors vierstellig darzustellen?
Ob zielführend, hängt davon ab was du mit den Werten vorhast, das hast du noch nicht verraten
Eine andere Möglichkeit könnte vielleicht
Mit welchem Befehl kann ich diese Vektoren x(i) erzeugen, damit ich diese mit dem Befehl cat zusammenfügen kann?
Zitat:
Ob zielführend, hängt davon ab was du mit den Werten vorhast, das hast du noch nicht verraten
Hintergrund ist folgender:
Ich habe Datumsangaben in der Form 'yy', 'mm', ... bis zu Tausendstel Sekunden 'FFFF' gegeben, wobei die Tausendstel Sekunden nicht immer 4stellig sind, sondern die Null einstellig als '0' dargstellt wird.
Ich will diese einzelnen Bausteine nun in die Form 'yymmddHHMMSSFFF' bringen, wobei ich die Bausteine zuerst in Strings umwandle, um sie dann mit 'strcat' zusammenzufügen, das hat soweit geklappt, nur bei den Einträgen der einstelligen Null bekomme ich nichts passendes zurück, weshalb ich die Null gern in der Form '0000' in der Ausgangsvariablen stehen hätte.
Ich hoffe, ich habe das einigermaßen verständlich beschrieben
In der Schleife erzeugst du Daten vom Typ char, du prealloziierst (ist das ein Wort? ) x als double.
Die Fehlermeldung erscheint, weil x(i) nur auf das erste Element von x zugreift, du aber je Schleifendurchlauf vier Elemente hinein schreiben willst. Mit x(i,: ) greift man auf alle Spaltenelemente der Zeile i zu.
So funktioniert es:
Code:
A=[0;5500;5600;5700];
len = length(A);
x = repmat(char(0),len,4);
for i = 1:len
x(i,:) = sprintf('%04.4g', A(i,1));
end % C = x;
Habe versucht, das wieder über sprintf zu lösen und diverse Möglichkeiten durchgespielt, hab aber noch kein passendes Format gefunden, hättest du da noch abschließend einen Tipp?
Zitat:
Was möchtest du mit den Werten der Form 'yymmddHHMMSSFFF' anschließend machen?
Ich will zwei Datenreihen vergleichen, die mit unterschiedlichen Sensoren/Geräten aufgenommen wurden, und lege diese mit Hilfe der Datumsangaben übereinander, datenum kenn ich deshalb schon.
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
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.