|
|
Differenzberechnung, aber erst nur bei bestimmtem Intervall |
|
Louis1895 |
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 09.09.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.11.2019, 14:20
Titel: Differenzberechnung, aber erst nur bei bestimmtem Intervall
|
|
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.
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 04.11.2019, 15:48
Titel:
|
|
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 ;)
|
|
|
Louis1895 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 09.09.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.11.2019, 16:29
Titel:
|
|
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.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 04.11.2019, 16:41
Titel:
|
|
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 ;)
|
|
|
Louis1895 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 09.09.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.11.2019, 07:54
Titel:
|
|
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.
|
|
|
Louis1895 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 09.09.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.11.2019, 14:25
Titel:
|
|
Ich habe in der angehängten Excel-Datei nochmal ein kleines Beispiel erstellt, damit man sich das besser vorstellen kann.
Beschreibung: |
|
Download |
Dateiname: |
Beispiel Schleife_Forum.xls |
Dateigröße: |
29 KB |
Heruntergeladen: |
226 mal |
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|