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

Grafik Plot laufen lassen

 

Marc84

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2009, 11:17     Titel: Grafik Plot laufen lassen
  Antworten mit Zitat      
hallo zusammen,

ich verwende eine DAQ-Messkarte und würde gerne den Effektivwert so plotten, dass man auf der X-Achse mit fortschreitender Zeit diesen gezeichnet bekommt.

Das Problem was ich jetzt habe ist, dass ich zwar den jeweiligen Effektivwert zeichne, allerdings fängt dieser immer wieder bei x=0 an.

in folgendem Thread hab ich versucht mich schlau zu lesen.

http://www.gomatlab.de/verticale-li.....t,plot+laufen+lassen.html

denke aber dass es auch ohne get, set & line geht, oder?

mein code dafür sieht folgendermaßen aus:

Code:
%____________________für_die_2._Achse__________________________
%______________________________________________________________    
       
    axes(handles.axes2);
    for zeit1=0:100;
    h2 = plot(zeit1,U_kV);
    title('Effektivspannung','FontSize',12);
    xlabel('Zeit');
    ylabel('Û/Wurzel(2)');
    end;
%__________________________________________________________________________


mein U_kV aktualisiert etwa jede 0.5 Sekunden und errechnet sich aus einer Messreihe (t,U).
Denke dass ist aber nicht so relevant.
Ich bin mir sicher, dass die for Schleife so unangebracht ist, da sie das U_kV ja immer nur 100Punkte von 0 an zeichnet. theoretisch reicht da auch nur ein Punkt.

Mein Kopf qualmt aber schon seit Tagen. vielleicht weiß jemand weiter

besten Dank und schönen Gruß,
Marc


Idefix_1024
Forum-Century

Forum-Century


Beiträge: 230
Anmeldedatum: 16.10.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2009, 12:00     Titel:
  Antworten mit Zitat      
ich hätte da einen Vorschlag

Code:

axes(handles.axes2);
title('Effektivspannung','FontSize',12);
xlabel('Zeit');
ylabel('Û/Wurzel(2)');
hold on
for zeit1=0:100;
    h2 = plot(zeit1,U_kV);
end;
hold off
 


derzeit übermalt jeder neue Plotpunkt die alten... mit hold on hold off passiert das nicht... soweit sie richtig platziert sind

teste doch mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Marc84

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2009, 13:35     Titel:
  Antworten mit Zitat      
hi idefix,

danke für den Tipp. Das war aber nicht mein Problem. Hab dies bereits über den Property Inspector eingestellt gehabt.

was ich erreichen möchte ist, dass der Plot dann nicht wieder bei 0 anfängt zu zeichnen, sondern die Kurve quasi nach und nach wächst.

er soll also im Intervall von [0-10] einen U_kV von zB 8kV zeichnen, dann von [10-20] den nächsten Wert dann von [20-30] ... [990-1000] (diese Intervalle beziehen sich auf die x-Achse)
 
Marc84

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2009, 13:45     Titel:
  Antworten mit Zitat      
ein weiterer Versuch war es eine zusätzliche Variable (SW) einzubauen.

Der ganze Code hier ist ein Teil einer While Schleife, die solange läuft bis ein Stop Button gedrückt wird.

logischerweise setzt der jedesmal SW zurück auf 0 beim durchlaufen. wie kann ich das ändern? oder doch ganz anders machen? vielleicht doch etwas mit get und set?

Code:
   axes(handles.axes2);
    SW=0;
    zeit1=SW:100;  
    h2 = plot(zeit1,U_kV);
    title('Effektivspannung','FontSize',12);
    xlabel('Zeit');
    ylabel('Û/Wurzel(2)');
    SW = SW+1
 
Idefix_1024
Forum-Century

Forum-Century


Beiträge: 230
Anmeldedatum: 16.10.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2009, 14:23     Titel:
  Antworten mit Zitat      
gib doch bitte mal nen lauffähigen Codeschnipsel an und nicht nur so ein paar variablennamen...

ich stelle mir das gerade so vor

Code:

clc
close all
clear

x   = 1:1:100;
y   = [1 2 3 4 5 6 7 8 9 10];

intervall = 10;

y_neu   = [];
for n=1:1:intervall
    wert    = y(1,n);
    y_neu   = [y_neu ones(1,intervall).*wert]
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Marc84

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.09.2009, 10:58     Titel:
  Antworten mit Zitat      
ich poste dann mal ein paar mehr schnipsel. vielleicht versteht man es dann besser.

ich rufe die Messwerte mit einer Messkarte ab. irgendwie bekomm ich es nicht hin, egal ob mit for Schleife oder sonst wie, dass mein SW=0 um einen hochgesetzt wird. es ist mir auch klar, dass beim Plotten die Kurve (oder in meinem Fall die Gerade) immer wieder bei 0 anfängt, da mein SW (Startwert) immer wieder =0 gesetzt wird. Aber wie kann ich da vorgehen?

Code:

function pushbutton1_Callback(hObject, eventdata, handles)

set(handles.pushbutton1,'UserData',1);

while(get(handles.pushbutton1,'UserData') ==1);

(...)

start(AI);
[U,t]=getdata(AI);

U_kV=21980/1000*(max(U)/sqrt(2));  

Daten(:,1)=t;
Daten(:,2)=U;

axes(handles.axes2);
[b]SW=0[/b];
zeit1=SW:100;  
h2 = plot(zeit1,U_kV);
title('Effektivspannung','FontSize',12);
xlabel('Zeit');
ylabel('Û/Wurzel(2)');
SW1 = SW+1;

(...)

end;
 
 
Marc84

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.09.2009, 10:18     Titel:
  Antworten mit Zitat      
kann niemand helfen?? Confused
 
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.