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

Benötige spezielles Output fur Daten als Tabelle in Matlab

 

Caro_deilen
Forum-Newbie

Forum-Newbie



Beiträge: 4
Anmeldedatum: 02.01.18
Wohnort: Essen
Version: R2016a
     Beitrag Verfasst am: 02.01.2018, 09:01     Titel: Benötige spezielles Output fur Daten als Tabelle in Matlab
  Antworten mit Zitat      
Habe das Problem, das ich für bestimmte Files, deren Daten in Matlab als Tabelle vorliegen ein spezielles Output-Format benötige.
Ich muss einzelne Tabellenspalten durch Punkte trennen!
Bei einer anderen Datenbank muss ich alles bis auf die letzte Spalte mit einem Punkt trennen. Die letzte und vorletzte Spalte sind durch ein Gleichzeichen, also =, getrennt.

Ich habe mal geschaut, ob ich eine Matlab-Standard-Funktion finde, mit der man sowohl Text als auch Zahlen mit beliebigen Delimitern trennen kann; ich konnte aber bis jetzt keine finden, die entweder beliebige Trennzeichen (Deliminiter) erlaubt oder auch Text (nicht nur Zahlen) verarbeiten konnte. Die Funktion fprintf sollte das können, was ich brauche?!. Falls man keine Standardfunktion findet, wäre ich euch dankbar es einfach an einer kleine Matlab-Mustertabelle auszuprobieren und mal zu versuchen die fprintf-Funktion zu implementieren.
Komme da leider bis dato nicht ganz weiter.
Wäre für jede Hilfe sehr dankbar!
Private Nachricht senden Benutzer-Profile anzeigen


Friidayy
Forum-Century

Forum-Century


Beiträge: 225
Anmeldedatum: 17.12.13
Wohnort: ---
Version: R2012b
     Beitrag Verfasst am: 02.01.2018, 09:29     Titel:
  Antworten mit Zitat      
hallo caro,

dein problem könnte ungefähr so gelöst werden:

Code:
clear all; close all; clc; %#ok<*AGROW>

A = [1 2 3; 4 5 6; 7 8 9];
[n,m] = size(A);

s='';
for i=1:n
    for j=1:m
        if j==m
            s = [s num2str(A(i,j))];
        elseif j==(m-1)
            s = [s num2str(A(i,j)) ' = '];
        else
            s = [s num2str(A(i,j)) ' . '];
        end
    end
    s = [s sprintf('\n')];
end
disp(s);


gruß, michael
Private Nachricht senden Benutzer-Profile anzeigen
 
Caro_deilen
Themenstarter

Forum-Newbie

Forum-Newbie



Beiträge: 4
Anmeldedatum: 02.01.18
Wohnort: Essen
Version: R2016a
     Beitrag Verfasst am: 02.01.2018, 15:03     Titel:
  Antworten mit Zitat      
Vielen Lieben Dank schon mal Friidayy

Ist es möglich das Program auf diese Tabelle (beispielhaft,denn die Tabelle besteht aus mehreren tausend Werten) anzupassen ? Sodass ich Zahlen und Text mit beliebigen Delimitern trennen kann.

'DL_DE_Heiz' '01-Jan-2016 00:00:00' 1976
'DL_DE_Heiz' '01-Jan-2016 01:00:00' 1719
'DL_DE_Heiz' '01-Jan-2016 02:00:00' 1466
'DL_DE_Heiz' '01-Jan-2016 03:00:00' 1213
'DL_DE_Heiz' '01-Jan-2016 04:00:00' 1152
'DL_DE_Heiz' '01-Jan-2016 05:00:00' 1095
'DL_DE_Heiz' '01-Jan-2016 06:00:00' 1044
'DL_DE_Heiz' '01-Jan-2016 07:00:00' 1192
'DL_DE_Heiz' '01-Jan-2016 08:00:00' 1342
'DL_DE_Heiz' '01-Jan-2016 09:00:00' 1491
'DL_DE_Heiz' '01-Jan-2016 10:00:00' 1748
'DL_DE_Heiz' '01-Jan-2016 11:00:00' 2008
'DL_DE_Heiz' '01-Jan-2016 12:00:00' 2269
'DL_DE_Heiz' '01-Jan-2016 13:00:00' 2650
'DL_DE_Heiz' '01-Jan-2016 14:00:00' 3032
'DL_DE_Heiz' '01-Jan-2016 15:00:00' 3413
'DL_DE_Heiz' '01-Jan-2016 16:00:00' 3666
'DL_DE_Heiz' '01-Jan-2016 17:00:00' 3920
'DL_DE_Heiz' '01-Jan-2016 18:00:00' 4177
'DL_DE_Heiz' '01-Jan-2016 19:00:00' 4340
Private Nachricht senden Benutzer-Profile anzeigen
 
Friidayy
Forum-Century

Forum-Century


Beiträge: 225
Anmeldedatum: 17.12.13
Wohnort: ---
Version: R2012b
     Beitrag Verfasst am: 02.01.2018, 17:30     Titel:
  Antworten mit Zitat      
klar geht das, was genau soll mit der tabelle passieren?
Private Nachricht senden Benutzer-Profile anzeigen
 
Caro_deilen
Themenstarter

Forum-Newbie

Forum-Newbie



Beiträge: 4
Anmeldedatum: 02.01.18
Wohnort: Essen
Version: R2016a
     Beitrag Verfasst am: 12.01.2018, 14:50     Titel:
  Antworten mit Zitat      
Ah Super!
Die Tabelle sollte genau dem Code entsprechend mit bestimmten Delimitern (Ein Punkt) getrennt werden.
Also in diesem Falle (siehe oben) kommt erst der Name, dann der Zeitstempel und daraufhin ein bestimmter Wert.
Bisher klappt das mit Tabellen, die nur Zahlen enthalten sehr gut, jedoch nicht mit Namen und Zeitstempel.
Am meisten wünsche ich mir, das ganze mit einem fprintf Befehl zu implementieren.
Wäre dir wirklich sehr dankbar für diese letzte Hilfestellung!
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 - 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.