Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Bücher:

Mathematik mit MATLAB

Studierende:
weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Brauche Hilfe für die Beachtung der Reihenfolge in Spalte

 

Kim1993

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.06.2020, 10:42     Titel: Brauche Hilfe für die Beachtung der Reihenfolge in Spalte
  Antworten mit Zitat      
Hallo zusammen,

ich habe eine Spalte mit 360.000 Werten, die ich jeweils nach der Reihenfolge der Werte in aufeinanderfolgende Maxima und Minima einteilen möchte. Das Ziel ist hier jeweils eine Funktion festzulegen, die abhängig von dieser Reihenfolge ist(low to high-function a, high to low-function b).
Meine Überlegung besteht darin eine if-Funktion aufbauen bei der ich den Wert Zeile1,Spalte1 mit dem jeweils nächsten Wert Zeile2,Spalte1 vergleiche.

Ungefähr so:
if Zeile1 < Zeile 2, dann verwende Funktion a
if Zeile1 > Zeile 2, dann verwende Fuktion b

Die Zuordnung könnte ja über die Definition Zeile 1=r und Zeile 2= r+1 verlaufen.
Diese Vorgehensweise sollte dann für die komplette Tabelle angewendet werden

Allerdings weiß ich leider nicht wie ich diese Zuordnung in Matlab hinbekomme.
Meine Recherche hat mich leider auch nicht weitergebracht.

Hat hier jemand Erfahrungen mit gesammelt und könnte mir vielleicht helfen?

Vielen Dank und viele Grüße

Kim


Harald
Forum-Meister

Forum-Meister


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

Zitat:
Ungefähr so:
if Zeile1 < Zeile 2, dann verwende Funktion a
if Zeile1 > Zeile 2, dann verwende Fuktion b

Über logische Indizierung (logical indexing) sollte das gut gehen. Um dir genauer weiterhelfen zu können, müsste ich besser verstehen, was du machen willst. Es könnte helfen, die gewünschten Ergebnisse für einen kleinen Datenausschnitt zu zeigen.

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
 
Kim1993

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.06.2020, 14:02     Titel: Brauche Hilfe für die Beachtung der Reihenfolge in Spalte
  Antworten mit Zitat      
Hallo Harald,

Vielen Dank für deine Antwort.

An die Einbindung genau dieser logischen Schritte in Matlab tue ich mich schwer.

So sieht meine bisherige Implementierung aus, welche nicht wirklich funktioniert:

Code:
No = 23.393;

if ['test_file(i,:)]'>'[test_file(i+1,:)]';
    y=0.875*No;
if ['test_file(i,:)]'<'[test_file(i+1,:)]';
    y=1.2*No
end
 


Ziel ist es, dass jeder Wert i aus der Datei mit dem folgenden Wert i+1 verglichen wird. Dabei sollte No als Startwert dienen, auf dem die Berechnung aufbaut. Somit möchte ich eigentlich eine Schleife einbauen, bei der No immer durch das vorherige berechnete y ersetzt wird.

Dadurch möchte ich die aufeinanderfolgenden Maxima und Minima vergleichen.

Allerdings klappt meine "basic"-Formel so nicht, weshalb ich die Schleife noch nicht eingebaut habe.

Vielen Dank nochmal für deine Antwort und vielleicht kennst du ja einen Trick Smile

Viele Grüße

Kim

[EDITED, Jan, Bitte Code-Umgebung verwenden - Danke!]

test.txt
 Beschreibung:

Download
 Dateiname:  test.txt
 Dateigröße:  2.28 KB
 Heruntergeladen:  4 mal
test.txt
 Beschreibung:

Download
 Dateiname:  test.txt
 Dateigröße:  2.28 KB
 Heruntergeladen:  5 mal
 
T16
Forum-Century

Forum-Century


Beiträge: 102
Anmeldedatum: 31.01.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.06.2020, 14:31     Titel:
  Antworten mit Zitat      
Deine Syntax haut noch nicht hin.

https://de.mathworks.com/help/matlab/ref/if.html

Da findest du viele Beispiele zu if-Abfragen mit der richtigen Syntax, wie du siehst kommen da weder eckige Klammern noch Apostrophe vor. Die Apostrophe verwandeln alles was zwischen ihnen steht in einen String, in deinem Beispiel steht im Prinzip

Code:
if Text1 < Text2


und matlab weiß überhaupt nicht was es damit anfangen soll.
Außerdem braucht jedes if immer auch ein end.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 21.729
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 26.06.2020, 15:16     Titel:
  Antworten mit Zitat      

_________________

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
 
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de


 Impressum  | Nutzungsbedingungen  | Datenschutz  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2020 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.