FlexPro
HistoryBase
Ingénierie
Formation
Téléchargements
Support FlexPro
Connaissance
Communauté
À propos de nous
Références
Emplois
Contact général
Liste des revendeurs
Support FlexPro
FR
DE
EN
Porte-plaquette
Produits et solutions
Support et téléchargements
Entreprise
Magazine
Contact
Langue
MyWeisang

Paramètres du compte.

Topic

Arrays und Schleifen

Page d'accueil ' Communauté ' FPScript ' Tableaux et boucles

Voir les messages de 3 - 1 à 3 (sur un total de 3)
  • Auteur
    Messages
  • #33219
    Markus Klamke
    Participant

    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]

    #33221
    Markus Klamke
    Participant

    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]

    #33220
    Bernhard Kantz
    Participant

    First 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]
    end

    Result
    [/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

Voir les messages de 3 - 1 à 3 (sur un total de 3)
  • Vous devez être connecté pour répondre à ce sujet.