Topic
Arrays und Schleifen
Startseite ' Community ' FPScript ' Arrays und Schleifen
- Dieses Thema hat 2 Antworten sowie 2 Teilnehmer und wurde zuletzt vor vor 16 Jahren, 3 Monaten von Markus Klamke aktualisiert.
-
AutorBeiträge
-
20.02.2009 um 19:35 Uhr #33219Markus KlamkeTeilnehmer
Hallo
[list]
[li]Ist es möglich aus jeweils dem i-ten Element von jedem Datensatz je einen neuen Datensatz zu erzeugen?
Bsp.:
Erstellte Datensätze
Datensatz 1 : (1,4,7)
Datensatz 2 : (2,5,8)
Datensatz 3 : (3,6,9)Daraus würde ich gern mit einer Schleife diese Datensätze erstellen. Also das jeweils die ersten Elemente der Ausgangsdatensätze in einem neuen Datensatz stehen.
Datensatz 1. Element (1,2,3)
Datensatz 2. Element (4,5,6)
Datensatz 3. Element (7,8,9)[li]Und als weitere Aufgabe würde ich gern aus diesen Datensätzen und einem weiteren Datensatz Signale erstellen.
Bsp.:
Datensatz 1. Element (1,2,3)
Datensatz 2. Element (4,5,6)
Datensatz 3. Element (7,8,9)Datensatz Signal (10,20,30)
Daraus möchte ich 3 Signale erstellen nach der Art
Signal 1
(10,1)
(10,2)
(10,3)Signal 2
(20,4)
(20,5)
(20,6)Signal 3
(30,7)
(30,8)
(30,9)Können Sie mir bei diesen Aufgaben helfen?
[/list]20.02.2009 um 19:35 Uhr #33221Markus KlamkeTeilnehmerHallo
[list]
[li]Ist es möglich aus jeweils dem i-ten Element von jedem Datensatz je einen neuen Datensatz zu erzeugen?
Bsp.:
Erstellte Datensätze
Datensatz 1 : (1,4,7)
Datensatz 2 : (2,5,8)
Datensatz 3 : (3,6,9)Daraus würde ich gern mit einer Schleife diese Datensätze erstellen. Also das jeweils die ersten Elemente der Ausgangsdatensätze in einem neuen Datensatz stehen.
Datensatz 1. Element (1,2,3)
Datensatz 2. Element (4,5,6)
Datensatz 3. Element (7,8,9)[li]Und als weitere Aufgabe würde ich gern aus diesen Datensätzen und einem weiteren Datensatz Signale erstellen.
Bsp.:
Datensatz 1. Element (1,2,3)
Datensatz 2. Element (4,5,6)
Datensatz 3. Element (7,8,9)Datensatz Signal (10,20,30)
Daraus möchte ich 3 Signale erstellen nach der Art
Signal 1
(10,1)
(10,2)
(10,3)Signal 2
(20,4)
(20,5)
(20,6)Signal 3
(30,7)
(30,8)
(30,9)Können Sie mir bei diesen Aufgaben helfen?
[/list]20.02.2009 um 23:41 Uhr #33220Bernhard KantzTeilnehmerFirst you should be aware that each formula can return only one result (besides if you are using a list result).
The shortest way to solve the first issue is something like this (we assume that all datasets have the same length):
[code]
Result = TransposeMatrix({ Dataset1, Dataset2, Dataset3})
[/code]
The result can than be found in Result[0], Result[1] and Result[2]. If you only need a specific index you could proceed like this:
Create a new formula called ‘DataSetFromIndex’:
[code]
Arguments Datasets, Idx
Dim MaxLen, Result// To simplify things we assume that all datasets have the same length
MaxLen = NumberOfRows($Datasets[0]$)// pre-allocate the result
Result = 0. # NumberOfRows(Datasets)For Each Row i In Datasets Do
Result[i] = ($Datasets[i]$)[Idx]
endResult
[/code]
Then call it from another formula like this (for the index 1):
[code]DatasetFromIndex({ “Dataset1”, “Dataset2”, “Dataset3” }, 1)[/code]
The second issue could be solved like this (assume Sig for your Signal, to avoid name clashes with the built-in function Signal):
[code]Signal(Dataset1, Sig[0] # NumberOfRows(Dataset1))
Signal(Dataset2, Sig[1] # NumberOfRows(Dataset2))
…
[/code]
Support
support@weisang.com -
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.