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

Temperatur einer Zeit und Datum zuschreiben

 

Geronymo
Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 22.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.10.2015, 17:36     Titel: Temperatur einer Zeit und Datum zuschreiben
  Antworten mit Zitat      
Servus Leute,

ich hab ein Problem.. Ich schreibe meine BA über 'Verbraucherseitige Kälteerzeugung mit geothermischer Wärme' und benötige dazu Matlap und Simulink, um das ganze Thema zu simulieren. Gearbeitet habe ich schonmal damit, aber das ist jetzt auch schon ein Jahr her und nicht mehr so frisch.

Ich muss eine Exceltabelle in matlab einprogrammieren und bekomme es ums ver.... nicht hin.

Problem ist, dass ich die Temperaur einer gewissen Zeit und Datum zuschreiben möchte.

Code:

Januar2015='C:\User\Geronymo\Dropbox\Bachelorarbeit\MATLAB\Januar2015.xlsx;
[Temperatur_Januar]=xlsread(Januar2015,'EXP201501','C4:C8931'); % Temperatur auslesen und Variable bilden
[Zeit_Januar]=xlsread(Januar2015,'EXP201501','B4:B8931');% Will er nicht nehmen und gibt [] aus
 


Matlab soll einen Graphen erzeugen der zu Datum und Uhrzeit die Temperatur ausgibt

..komme nicht weiter und verstehe die ganzen Befehle nicht opti...

Hab schon in Foren gelesen werde aber nicht schlau^^

EXCEL-DATEI hab ich angehängt
Private Nachricht senden Benutzer-Profile anzeigen


Geronymo
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 22.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.10.2015, 17:46     Titel:
  Antworten mit Zitat      
Forum will keine Xlsx-Datein nehmen...
also hier ein Bild davon

Matlab.png
 Beschreibung:

Download
 Dateiname:  Matlab.png
 Dateigröße:  41.72 KB
 Heruntergeladen:  506 mal
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: 22.10.2015, 22:44     Titel: Re: Temperatur einer Zeit und Datum zuschreiben
  Antworten mit Zitat      
Hallo Geronymo,

Bitte lies die Dokumentation zu xlsread . Dort findest Du die Erklärung, dass der erste Output die numerischen Werte enthält. Soweit ich sehe stehen dort in Excel Werte wie "00:00". Sind das Strings? Der zweite Output von xlsread sollte das klären.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Geronymo
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 22.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.11.2015, 12:25     Titel:
  Antworten mit Zitat      
Servus nochmal,

also hab ein paar Probleme lösen können.
Aber ich habe immernoch ein Problem.

ich möchte das meine Simulation zeitabhängig läuft.
Dh. T_terra (Außentemperatur)
-4.1
-4.9
-..
-..
-..

soll dem Datum zugeordnet werden also
2014-01-01 00:00 --> -4.1
2014-01-01 01:00 --> -4.9
....
....


Ziel ist es in Simulink nicht einzelne Werte durch das System zu jagen, sondern eine Temperaturfolge und ich komm einfach nicht drauf, wie ich das machen kann.

Code:

clear all
close all
clc

% Temperaturdaten aus Excel
filename = 'Temp_2014.xlsx';
T_terra=xlsread(filename,2,'D2:D8761');

% Datumsdaten aus Excel
[~,~,datum]=xlsread(filename,2,'J2:J8761'); % Implementierung des Datums
Datum = datenum(datum);                    


% Übergabe an Simulink
%open('Simulation');
%sim('Simulation');

% Erzeugung eines Graphen

plot(T_terra,'-r');
title('Jahrestemperaturkurve 2014','color','b');
xlabel('Stunden in h','color','k');
ylabel('Temperatur in °C','color','k');
legend('Temperaturverlauf','color','k');

 


Helf mir bitte Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Geronymo
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 22.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.11.2015, 14:26     Titel:
  Antworten mit Zitat      
mit diesem Code vllt????
Code:

ts=timeseries(T_terra,datum,'Temperatur über Jahr 2014',tsname);
 


'Temperatur über Jahr 2014',tsname klappt halt nicht

Code:

Error in T_aussen (line 15)
ts =timeseries(T_terra,datum,'Temperatur Über Jahr
2014',tsname);
 


gibt er aus.
Ist Name wichtig zur Weiterverarbeitung?
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: 19.11.2015, 12:04     Titel:
  Antworten mit Zitat      
Hallo Geronymo,

Bitte poste immer die vollständige Fehlermeldung.
Die Dokumentation des timeseries Befehls sollte klären, welche Namen erlaubt sind.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Geronymo
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 22.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.11.2015, 13:06     Titel:
  Antworten mit Zitat      
Hilft mir leider bei dem o.g. Problem nicht weiter Smile

Habe es mit ' 'tsname',tsname)' probiert und das wollte er auch nicht..

wäre cool wenn mir mal einer ein Tipp gibt
SmileSmileWink
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: 19.11.2015, 14:44     Titel:
  Antworten mit Zitat      
Hallo Geronymo,

Ich würde Dir gerne einen Tipp geben, aber Du verrätst leider nicht, welche Fehlermeldungen Du bekommst. "Wollte nicht" erlaubt es nicht einen Verbesserungsvorschlag zu machen.

Bitte poste den relevanten Code-Abschnitt. Am besten ist, wenn er so gewählt wird, dass wir das Problem per COpy&PAste reproduzieren können.
Und dann füge noch die komplette (!) Fehlermeldung hinzu, nicht nur den kleinen Ausschnitt, der Dir relevant vorkommt.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Geronymo
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 22.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.11.2015, 16:50     Titel:
  Antworten mit Zitat      
Servus nochmal,

Ich versuche eine Zeit mit einem Wert zu verbinden. Also in Simulink eine bestimmte Zeit-Werte-Folge abzuarbeiten. Dh. am 01.01.2014 um 01:00 Uhr habe ich eine Außentemperatur von -4.1 °C.
Simulink soll danach nun -> 01.01.2014 um 02:00 mit einem Wert von -4.9°C fortführen.
Problem ist, das Simuink den Wert nimmt(bei reiner Wertübergabe also T_terra[Nur Außentemperaturwert]), aber ihn nicht zeitlich richtig anordnet. Es geht alle Werte durch aber nicht hintereinander.

Versuch mein Problem zu lösen über timeseries!

Code:

%Entwurf Zeitstrang
ts =timeseries(T_terra,datum);
 


Diese timeserie hat keinen Namen, weil das mit dem Namen nicht hingehauen hat. Ist glaub ich auch nicht so wichtig zur weiteren Benutzung, oder?
Ich kann diese Serie jedoch nicht als Constant-Block benutzen und somit werden die
Werte nicht weitergegeben. Wie könnte ich das lösen?


Eine weitere Frage ist: Ich würde gerne einen Plot Temp. Über Datum sehen.
Es geht jetzt schon, aber es werden so wenig x Punkte(DATUM) angezeigt und ich hätte gerne mehr.
(Platzmangel in der Zeile??)

Code:

figure(2);
plot(ts,'-r');
title('Jahrestemperaturkurve 2014','Fontsize',10,'color','b');
xlabel('Datum','Fontsize',10,'color','k');
ax = gca;
ax.XTickLabelRotation = -40;
%set(gca,'xtick',[01-01-2014 02-01-2014]); Funktioniert noch nicht
ylabel('Temperatur in °C','Fontsize',10,'color','k');
legend('Temperaturverlauf','Fontsize',1,'color','k');
 



Hier nochmal der ganze Code
Code:

clear all
close all
clc

% Temperaturdaten aus Excel
filename = 'Temp_2014.xlsx';
T_terra=xlsread(filename,2,'D2:D8761');

% Datumsdaten aus Excel
[~,~,datum]=xlsread(filename,2,'J2:J8761'); % Implementierung des Datums
Datum = datenum(datum);                    
[~,~,zeit]=xlsread(filename,2,'K2:K8761');

%Entwurf Zeitstrang
ts =timeseries(T_terra,datum);

% Übergabe an Simulink
open('Simulation');
sim('Simulation');

% Erzeugung eines Graphen (Jahrestemperaturkurve 2014)
figure(1);
plot(T_terra,'-r');
title('Jahrestemperaturkurve 2014','Fontsize',10,'color','b');
xlabel('Stunden in h','Fontsize',10,'color','k');
ylabel('Temperatur in °C','Fontsize',10,'color','k');
legend('Temperaturverlauf','Fontsize',10,'color','k');

figure(2);
plot(ts,'-r');
title('Jahrestemperaturkurve 2014','Fontsize',10,'color','b');
xlabel('Datum','Fontsize',10,'color','k');
ax = gca;
ax.XTickLabelRotation = -40;
%set(gca,'xtick',[01-01-2014 02-01-2014]); Funktioniert noch nicht
ylabel('Temperatur in °C','Fontsize',10,'color','k');
legend('Temperaturverlauf','Fontsize',1,'color','k');
 



Das sind die Meldungen nach Simulation im CW:
------------------------------------------------------------------------------------------------
Warning: Output port 1 of 'Simulation/Begrenzer 2' is not connected.
> In T_aussen (line 19)
Warning: Output port 1 of 'Simulation/Begrenzer 3' is not connected.
> In T_aussen (line 19)
Warning: Output port 1 of 'Simulation/Begrenzer 4' is not connected.
> In T_aussen (line 19)
Warning: Truncating signals shown by 'Simulation/Display'. Displays can only show at most 200 elements of a
vector or [20x10] elements of a matrix signal
> In T_aussen (line 19)
Warning: Truncating signals shown by 'Simulation/Display1'. Displays can only show at most 200 elements of a
vector or [20x10] elements of a matrix signal
> In T_aussen (line 19)
Warning: Truncating signals shown by 'Simulation/ Heizlast/Display'. Displays can only show at most 200
elements of a vector or [20x10] elements of a matrix signal
> In T_aussen (line 19)
Warning: Ignoring extra legend entries.
> In legend>set_children_and_strings (line 629)
In legend>make_legend (line 321)
In legend (line 247)
In T_aussen (line 27)
Warning: Ignoring extra legend entries.
> In legend>set_children_and_strings (line 629)
In legend>make_legend (line 321)
In legend (line 247)
In T_aussen (line 37)
------------------------------------------------------------------------------------------------


Bitte helft mir Smile

EXCEL.png
 Beschreibung:
FOTO Excelsheet

Download
 Dateiname:  EXCEL.png
 Dateigröße:  265.31 KB
 Heruntergeladen:  393 mal
Simulation.slx
 Beschreibung:
Es fehlen jetzt die Exceldaten

Download
 Dateiname:  Simulation.slx
 Dateigröße:  26.51 KB
 Heruntergeladen:  357 mal
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: 24.11.2015, 14:54     Titel:
  Antworten mit Zitat      
Hallo Geronymo,

Zitat:
Simulink soll danach nun -> 01.01.2014 um 02:00 mit einem Wert von -4.9°C fortführen.
Problem ist, das Simuink den Wert nimmt(bei reiner Wertübergabe also T_terra[Nur Außentemperaturwert]), aber ihn nicht zeitlich richtig anordnet. Es geht alle Werte durch aber nicht hintereinander.

Ich kann Dir nicht folgen.

Zitat:
Diese timeserie hat keinen Namen, weil das mit dem Namen nicht hingehauen hat.

Bitte poste, was Du versucht hast und welche Fehlermeldung Du bekommen hast. Mit "hat nicht hingehauen" kann man im Forum nichts anfangen.

Zitat:
Ist glaub ich auch nicht so wichtig zur weiteren Benutzung, oder?

Das weiß ich nicht. Ich weiß ja nicht, was genau geschehen ist.

Zitat:
Ich kann diese Serie jedoch nicht als Constant-Block benutzen und somit werden die Werte nicht weitergegeben. Wie könnte ich das lösen?

Was bedeutet "Du kannst es nicht benutzen"? Was geschieht, wenn Du es versuchst? Wie können wir Dir denn weiter helfen?

Zitat:
Es geht jetzt schon, aber es werden so wenig x Punkte(DATUM) angezeigt und ich hätte gerne mehr.
(Platzmangel in der Zeile??)

In welcher Zeile? Was bedeutet "Platzmangel"? Was heißt "so wenige" genau?
Kannst Du Code posten, mit dem man das Verhalten reproduzieren kann?
Der bisher gezeigte Code läuft nicht, da die Variable "ts" nicht verfügbar ist.

Zitat:
%set(gca,'xtick',[01-01-2014 02-01-2014]); Funktioniert noch nicht

Wie könnte das auch funktionieren? Was ist denn "01"? Eine Oktal-Zahl, da sie mit 0 beginnt? XTick erwartet zwei Zahlen als Argument. 01-01-2014 ist keine Zahl. Wie wäre:

Code:
set(gca,'xtick',[datnum('01-01-2014'),  datenum('02-01-2014')])


Wenn Du das leidige "clear all" weglässt, wird es Dir leichter fallen den Debugger zu verwenden.

Die Anzahl der Warnungen ist beeindruckend. Wie wäre es, diese zunächst mal eine nach der anderen zu lösen?

Gruß, Jan
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.