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

Aus Wertepaaren Graphen "sich selbst erstellen" la

 

e=mc^2
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 01.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.05.2018, 18:41     Titel: Aus Wertepaaren Graphen "sich selbst erstellen" la
  Antworten mit Zitat      
Hallo zusammen!
Zuerst: ich bin komplett neu hier im Forum, genauso wie ich ein Neuling in Matlab bin! Smile

Nun zu meinen Problem:
Ich werde für die Uni einen Versuch durchführen, der mir mehrere Wertepaare liefert (x-Achse: t [min] ; y-Achse: p [bar]).
Diese Punkte möchte ich gerne in einem Schaubild darstellen. Soweit so gut!
Da ich die erstellten Graphen allerdings später in einem Lehrfilm verwenden möchte, wäre es super, wenn dieser sich sozusagen erst "selbst aufbaut".

Für eine bekannte Funktion habe ich das bereits mit folgendem Code erreicht:

Code:

x = 0:0.1:50;
y = 100*exp (-0.11515*x);
z = 1.01325*x;
n = numel(x);
figure
axes('XLim', [0,50], ...
        'XTick', [39,878], ...
        'XTickLabel', '39,878min');
ylim([0 110])
hold on
for i = 1:n
    plot(x(1:i),y(1:i),'r','Linewidth',4)
    set(gcf,'units','normalized','outerposition',[0 0 1 1],'Name','Plot1')
    pause(0.05)
    z = 1.01325;
    line([0,60],[z,z])
    title('Theoretischer Druckverlauf','Fontsize',32);
    xlabel('t in min', 'Fontsize',24)
    ylabel('p in bar','Fontsize',24)
end
 


Für die Funktion y funktioniert der Programmcode genau wie gewünscht (das dargestellte Diagramm wird per Screencapture dann anschließend weiterverarbeitet).
Leider habe ich absolut keine Ahnung, wie ich das mit reinen Wertepaaren generieren soll. Perfekt wäre es, wenn die Punkte in einer einstellbaren Geschwindigkeit quasi "aufpoppen" würden und gleichzeitig per Linie verbunden werden. Ich weiß, alles ein bisschen speziell! Wink
Ich hoffe, mir kann hier jemand helfen, ich bin solangsam mit meinem Latein am Ende!
P.S.: Falls ein anderes Programm die gewünschte Funktionalität einfacher liefert (Excel o.Ä.) bin ich auch nicht böse, dieses zu verwenden! Smile

Schon mal vielen Dank für eure Hilfe, ich bin wirklich dankbar dafür!

e = m*c^2
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 01.05.2018, 19:06     Titel:
  Antworten mit Zitat      
Hallo,

was meinst du denn mit "reinen Wertepaaren"? Es ist doch egal, ob x und y wie im Code bestimmt werden oder ob das Daten sind.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
e=mc^2
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 01.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.05.2018, 19:11     Titel:
  Antworten mit Zitat      
Hallo Harald,
erstmal vielen Dank für deine Hilfe!
Damit meine ich, dass ich beispielsweise folgende Wertepaare habe:

x: y:
0 100
1 89,1232449
2 79,42952782
3 70,7901726
4 63,09049889
5 56,22829984
6 50,11248537
7 44,66187306
8 39,80411051
9 35,47471489

Und diese sollen entsprechend dem Code geplotted werden.
Wenn das kein Problem ist: Wie bekomme ich eine Tabelle (beispielsweise Excel) in Matlab?

Viele Grüße

e = m*c^2
Private Nachricht senden Benutzer-Profile anzeigen
 
e=mc^2
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 01.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.05.2018, 20:17     Titel:
  Antworten mit Zitat      
Hallo Harald,
mit folgendem, praktisch kaum veränderten Code
Code:

x = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
y = [0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40];
n = numel(x);
figure
xlim ([0 50])
ylim([0 110])
hold on
for i = 1:n
    plot(x(1:i),y(1:i),'r','Linewidth',4)
    set(gcf,'units','normalized','outerposition',[0 0 1 1],'Name','Test2')
    pause(0.05)
    title('Theoretischer Druckverlauf 100bar 20°C','Fontsize',32);
    xlabel('t in min', 'Fontsize',24)
    ylabel('p in bar','Fontsize',24)
end
 

hat sich mein Problem dann auch schon wieder erledigt. Mir war nicht bewusst, dass ich die Wertepaare so einfach einfügen kann! Die Werte sind natürlich einfach Beispielwerte.

Danke für deine Hilfe und viele Grüße

e = m*c^2
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 01.05.2018, 20:22     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Damit meine ich, dass ich beispielsweise folgende Wertepaare habe

Und was unterscheidet diese Wertepaare jetzt von dem, was du zuvor gemacht hast?

Zitat:
Wie bekomme ich eine Tabelle (beispielsweise Excel) in Matlab?

xlsread oder readtable .

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
e=mc^2
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 01.05.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.05.2018, 21:07     Titel:
  Antworten mit Zitat      
Hallo Harald,
eine Frage habe ich noch:

Wenn ich diesen Code

Code:

read = xlsread('Dateiname.xlsx',-1)
 


verwende, dann werden die ausgewählten Daten im Command Fenster angezeigt.

Kann ich die eingelesenen Werte als Tabellenwerte in dieser Form

Code:

x = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
 


festlegen?
Wenn ja, wie geht das?

Viele Grüße

e = m*c^2
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 01.05.2018, 21:42     Titel:
  Antworten mit Zitat      
Hallo,

vermutlich hat read dann zwei Spalten. Mit
Code:
x = read(:,1);
y = read(:,2);

bekommst du die Daten so, wie du sie brauchst.

Bitte auch mal das MATLAB Onramp durcharbeiten. Das sollte solche Fragen beantworten.

Grüße,
Harald
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.