Topic
Arrays und Schleifen
Page d'accueil ' Communauté ' FPScript ' Tableaux et boucles
- Ce sujet contient 2 réponses, 2 participants et a été mis à jour pour la dernière fois par Markus Klamke, le il y a 16 années et 3 mois.
-
AuteurMessages
-
20.02.2009 à 19:35 #33219Markus KlamkeParticipant
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 à 19:35 #33221Markus KlamkeParticipantHallo
[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 à 23:41 #33220Bernhard KantzParticipantFirst 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 -
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.