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

Differenzberechnung, aber erst nur bei bestimmtem Intervall

 

Louis1895
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 09.09.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.11.2019, 14:20     Titel: Differenzberechnung, aber erst nur bei bestimmtem Intervall
  Antworten mit Zitat      
Hallo,

ich habe eine Excel-Datei, die ich mit Hilfe von xlsread als Matrix eingelesen habe.
Die Matrix hat eine Größe von ~5000x5.

Die Matrix ist wie folgt aufgebaut:
A B C D E
1 1 2 10
2 3 4 12
3 5 6 14
4 7 8 16
5 10 8 18
...

Für die Zeile E soll eine Berechnung durchgeführt werden, aber nur wenn zwischen zwei Werten derZeile B ein Intervall von gößer, gleich 4 ist.

Beispielsweise wäre für die Zeile E2 die Differenz von B2 und B1 kleiner als 4, daher erfolgt keine Berechnung. Für die Zeile E3 ist die Differenz von B3 und B1 gleich 4. Es erfolgt die Berechnung in Zeile E3.
Für die Zeile E4 ist die Differenz von B4 und B3 kleiner als 4, daher erfolgt keine Berechnung. Für die Zeile E5 ist die Differenz von B5 und B3 größer als 4. Es erfolgt die Berechnung in Zeile E5.

Vielen Dank für die Hilfe.
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 04.11.2019, 15:48     Titel:
  Antworten mit Zitat      
Hallo,

um zu wissen, ob die Differenz kleiner als 4 ist, musst du sie ja zunächst berechnen. Ich würde also zunächst alle Differenzen und dann die <4 herausfiltern.

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
 
Louis1895
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 09.09.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.11.2019, 16:29     Titel:
  Antworten mit Zitat      
Ich möchte ja nicht grundsätzlich die Differenz zwischen dem 1. und 2., 2. und 3. Wert usw. berechnen, sondern wenn die Differenz größer als beispielsweise 4 ist, soll ja von der nächsten Zeile aus die Berechnung neu starten.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 04.11.2019, 16:41     Titel:
  Antworten mit Zitat      
Hallo,

und woher willst du wissen, ob die Differenz größer als 4 ist, wenn du sie nicht berechnest? Welche Berechnung soll neu gestartet werden? Was soll in Spalte E geschrieben werden, wenn die Bedingung nicht erfüllt ist?

Ein konkretes Beispiel, was denn nun in deinem Fall in E stehen soll, könnte helfen.

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
 
Louis1895
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 09.09.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.11.2019, 07:54     Titel:
  Antworten mit Zitat      
Da hast du natürlich recht. Die Berechnung muss auf alle Fälle gestartet werden.

Im Prinzip kann in der Zelle dann entweder NaN oder ein X oder ähnliches stehen.
Man muss nur erkennen, dass die Berechnung nicht stattgefunden hat.

Die Differenz soll zwischen der ersten Zeile und der Zeile, nach der das Intervall von 4 erstmal erreicht wurde berechnet werden. Danach soll dann von der aktuellen Zeile erneut überprüft werden, ob das Intervall erreicht wurde und dann danach die Berechnung starten.
Private Nachricht senden Benutzer-Profile anzeigen
 
Louis1895
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 09.09.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.11.2019, 14:25     Titel:
  Antworten mit Zitat      
Ich habe in der angehängten Excel-Datei nochmal ein kleines Beispiel erstellt, damit man sich das besser vorstellen kann.

Beispiel Schleife_Forum.xls
 Beschreibung:
Beispiel Schleife

Download
 Dateiname:  Beispiel Schleife_Forum.xls
 Dateigröße:  29 KB
 Heruntergeladen:  226 mal
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.