Einige Rechnungen habe ich bereits gemacht (sub, sum, mean usw.) nun möchte ich bestimmte Sequenzen (Blöcke) herauslesen und subtrahiert.
Beispiel: Wenn zwei Nullen nacheinander (wie in Zeile 2 und 3 oder in Zeile 7 und 8 und 8 und 9) vorkommen soll (3 minus 2, 8 minus 7 und 9 minus gerechnet werden.
Output:
1 8
2 76
3 86
Ich hoffe ihr könnt mir helfen. Kriege die for und if Schleifen nicht richtig aufeinander abgestimmt.
Verfasst am: 02.12.2014, 13:09
Titel: Find function
Habe es mit der funktion find versucht kriege aber so nicht zwei nacheinander folgende Nullen sonder er zeigt mir nur eine null an...wie kriege ich es hin das er mir zwei Nullen auflistet und die passende zahl dazu?
Wie wandel ich deinen vorgegebenen Code nun ab damit ich Abfolgen wie 0 *0* X (X steht für "egal" ob 1 oder 0) finde und X mit der zweiten Null substrahieren kann?
Ich habe jetzt folgende Sequenzen berechnen lassen und würde jetzt gerne noch weitere "Unabhängige" Abfolgen berechnen lassen. Momentan sind die 4 parameter "Abhängig" also enden egal wenn eine 0 oder eine 1 vorkommt. Gerne würde ich diese Sequenzen enden lassen unabhängig ob eine 0 oder 1 als letztes Element vorkommt.
0X Also: eine 0 danach eine 1 oder eine 0
00X Also: zwei 0 danach eine 1 oder eine 0
000X Also: drei 0 danach eine 1 oder eine 0
0000X Also: vier 0 danach eine 1 oder eine 0
X steht für 1 oder 0
Ich hoffe du verstehst mich.
Vielen Dank für deine Mühe! Das Forum war/ist mir eine große Hilfe.
Danke hat super geklappt habe jetzt die gesamten "Abfolgen" berechnen lassen und will sie nun in eine .txt Datei mit den berechnete abfolgen nebeneinander schreiben lassen.
Da die einzelnen variablen double array´s sind und unterschiedliche länge haben kriege ich immer wieder die Fehlermeldung das sie nicht die gleiche länge haben (was auch stimmt). Writetable kann ich in meiner matlab Version auch nicht verwenden (das wäre natürlich super).
Wie kann ich die "parameter" in ein array nebeneinander schreiben lassen? Untereinander ist kein Problem...
wie soll das "nebeneinander" bei den unterschiedlichen Längen denn aussehen?
Anders gefragt: was soll an den nicht belegten Stellen stehen?
Wenn du dir die zweite Frage beantwortet hast: Matrix mit diesem Wert vorbelegen und dann spaltenweise befüllen.
Habe versucht mit der preallocate function die arrays vorher mit Nullen voll zu schreiben. Allerdings gelingt es mir nicht dann eine variable "einzusetzen" und das eben auf den nicht belegten Stellen die Nullen stehen bleiben.
Könntest du mir ein Beispiel geben wie ich z.b. in
Ich versuche gerade mit der find Funktion folgendes zu lösen:
Ich muss den Mittelwert aus einem bestimmten Spalten Bereich berechnen. Der Anfang des Bereichs kann zwischen der Zahl 1 und 50 beginnen und endet zwischen der Zahl 1 bis 50.
Am Beispiel sind die Bereiche folgendermaßen:
Bereich 1: 1-8
Bereich 2: 24-50
Bereich 3: 1-44
Bereich 4: 8-50
Bereich 5: 49
Wie kann ich diese "Bereiche" finden und den Mittelwert für den jeweiligen "Bereiche" berechnen lassen? Kann ich für die find Function einen "Range" angeben also das er Zahlen zwischen 1 und 50 finden soll?
Habe eine Datei mit den echten Daten angehängt.
Vielen Dank für die Hilfe (Ich hoffe man versteht meine Frage).
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
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.