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

Zwei Y-Werte zu einem X-Wert mittels einer Schleife bestimmt

 

FredVIW
Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 08.05.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.05.2020, 13:08     Titel: Zwei Y-Werte zu einem X-Wert mittels einer Schleife bestimmt
  Antworten mit Zitat      
Hallo liebe Community,

ich bin auf eure Unterstützung angewiesen.
Zum Problem:
Ich habe eine Kennlinie, die das Verhältnis von Kraft (Y-Achse) zu Weg (X-Achse) darstellt und in einem gemeinsamen Hochpunkt beginnt.
Ausgehend von diesem Hochpunkt teilt sich die Kennlinie auf zwei Kennlinienästen auf, die im Grunde parallel verlaufen und 750mm lang betrachtet werden sollen. Alle Werte > 750mm sollen aus den Betrachtungen ausscheiden und beim Plotten nicht mehr angezeigt werden.

Ich habe es bisher nur "händisch" lösen können, in dem ich mir die Werte aus der Matrix rausgesucht habe.
Habt Ihr eine Idee, so etwas als Schleife zu schreiben.

Vielen Dank im Voraus und GRUß!
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: 08.05.2020, 16:43     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Alle Werte > 750mm sollen aus den Betrachtungen ausscheiden und beim Plotten nicht mehr angezeigt werden.

Das geht z.B. mit
Code:
data(data > 750) = NaN; % auf NaN setzen

oder mit
Code:
data(data > 750) = []; % löschen


Ansonsten kann ich der Beschreibung insgesamt schwer folgen. Ein Bild wäre hilfreich.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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: 08.05.2020, 19:10     Titel:
  Antworten mit Zitat      
Hallo,

nicht so wirklich, da zwischen 1300 und 2000 doch 700 liegt?
Zudem: willst du also mit anderen Worten, das alles > 2000 ignoriert wird?

Hast du versucht, den Vorschlag umzusetzen? Mit welchem Ergebnis?

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
FredVIW
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 08.05.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.05.2020, 19:10     Titel:
  Antworten mit Zitat      
Hallo Harald,

vielen Dank für deine Antwort.
Im Anhang befindet sich eine Grafik, die das Problem besser veranschaulicht.

Hysterese_alt.png
 Beschreibung:

Download
 Dateiname:  Hysterese_alt.png
 Dateigröße:  116.83 KB
 Heruntergeladen:  152 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
FredVIW
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 08.05.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.05.2020, 19:14     Titel:
  Antworten mit Zitat      
Hallo Harald,

also ich habe eine Lösung, die aber mehr durch "Probieren" entstanden ist.

Ausgehen von dem höchsten Punkt (1300,10.2) möchte ich über 750 mm die Messwerte auf beiden Kennlinienästen betrachten. Alles >1300+750 mm soll demnach nicht betrachtet werden.

Gruß
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: 08.05.2020, 19:27     Titel:
  Antworten mit Zitat      
Hallo,

gut, soweit klar.
Hilft dir denn nun der Vorschlag weiter? Wenn nicht, wo ist das Problem damit?

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
FredVIW
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 08.05.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.05.2020, 13:54     Titel:
  Antworten mit Zitat      
Hallo Harald,

anbei der gesamte Code inkl. PLOT-Befehl

Code:
MIN_ALT_X = A03_s1_alt(A01_F1_alt == MAX_ALT_Y);
MAX_ALT_X = MIN_ALT_X+0.750e+03;

Kraft_alt_Wertebereich(A01_F1_alt(MAX_ALT_Y > A01_F1_alt));
Weg_alt_Wertebereich(A03_s1_alt((1.3048e+03:2.0548e+03)));

% Kraft_alt_Wertebereich = A01_F1_alt(916:469335);
% Weg_alt_Wertebereich = A03_s1_alt(916:469335);

Kraft_Weg_alt_Wertebereich = [Kraft_alt_Wertebereich, Weg_alt_Wertebereich];
plot (Weg_alt_Wertebereich, Kraft_alt_Wertebereich);
grid on
xlabel ('Weg in mm', 'FontSize',10, 'FontWeight','bold','Color','k');
ylabel ('Kraft in kN','FontSize',10, 'FontWeight','bold','Color','k');
view ([180 270]);
legend ('TENSOREX C+ 750/1000 ALT');
title ('Kraft-Weg-Diagramm');
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: 09.05.2020, 15:08     Titel:
  Antworten mit Zitat      
Hallo,

ich habe dir doch als Antwort auf deine PN einen Vorschlag geschickt. Probier ihn doch bitte aus und wenn es dabei Probleme gibt, schreibe konkret welche. Mangels Daten kann ich den Vorschlag leider nicht selbst ausprobieren.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
FredVIW
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 08.05.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.05.2020, 15:27     Titel:
  Antworten mit Zitat      
Hallo Harald,

ich habe deinen Vorschlag mit folgendem Code:

Code:
v1 = A01_F1_alt(MAX_ALT_Y > A01_F1_alt)
v2 =  A03_s1_alt(MAX_ALT_Y > A01_F1_alt)


ausprobiert, dabei gibt MATLAB die Werte für A01_F1_alt und für A03_s1_alt, so wie sie bereits im Workspace vorliegen, zurück.
Ziel soll es sein, dass für v1 nur die Werte bis zum Wert MAX_ALT_X angezeigt werden, wobei diesem MAX_ALT_X aber zwei Werte aus A01_F1_alt zugeordnet werden können.

Gruß
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: 09.05.2020, 15:34     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
dabei gibt MATLAB die Werte für A01_F1_alt und für A03_s1_alt, so wie sie bereits im Workspace vorliegen, zurück.

Dann ist die Filterfunktion falsch. Da ich deine Daten nicht kenne, kann ich dazu nicht mehr sagen. Beispieldaten wären hilfreich.

Zitat:
Ziel soll es sein, dass für v1 nur die Werte bis zum Wert MAX_ALT_X angezeigt werden

Dann musst du halt auch MAX_ALT_X für den Filter verwenden.

Zitat:
wobei diesem MAX_ALT_X aber zwei Werte aus A01_F1_alt zugeordnet werden können.

Keine Ahnung, welche zwei Werte du hier meinst und was hier "zugeordnet" heißen soll.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
FredVIW
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 08.05.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.05.2020, 15:42     Titel:
  Antworten mit Zitat      
Hallo Harald,

ich habe es hinbekommen.
Der Hinweis mit dem Filter war der Richtige.

Vielen Dank für die Unterstützung - trotz konfuser Fragen meinerseits Very Happy
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.