Indexing array without a loop

I would like to make and insert elements to each index on an 1D array. but, I don't want to use loop. How can I input my data into 1D array increasing and indexing array? whenever We want to make a new array, Do We have to use a loop control?

To create an array, all you have to use is the Initialize Array function or just drop an array constant onto the diagram. You can then use either Replace Array Subset or Insert Into Array.

Similar Messages

  • 1d cluster array replace value in a 1d boolean array (without using Loop)

    Hi ,
    is there a way to replace the values (string , boolean) ​​of a 1D array Cluster with value of 1D boolean array without using loop ?
    Regards
    Simone
    Attachments:
    111.png ‏75 KB

    Replace Array Subset requires that the array elements are type compatible with the elements that you want to replace. That seems not the case in your example.
    And the For Loop is anything but slow. How many billion elements do you expect your array to have to worry about performance of the for loop? With the type definition of your example even a ready made LabVIEW function would have to do internally a for loop too, since the boolean data inside the original array can not be in a continous memory area.
    Maybe if you show us what you try to do with the for loop we can understand better what your concerns are. As it is from the front panel image alone it is really hard to understand what your imagined problem might be.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Finding a minimum value in an array without using loops

    I can find a minimum value in an array using a loop, but I am unsure of how to do it without any type of of loop
    Here is what I have using a loop:
    // This method searches for the minimum value in an array
    public static int min(int a[]){
    int min = a[0];
    for(int i = 1; i < a.length; i++){
    if(a[i] < min){
    min = a;
    return min;
    How do I covert this to do the same thing, using no loops?
    Thank you for replies
    Edited by: kazmania on Feb 7, 2008 12:26 PM

    public class Test112 {
    public int recurse(int[] x, int i, int n)
    if (i==x.length-1) { return (x[i] < n) ? x[i] : n; }
    n = (n < x[++i]) ? n : x;
    return recurse(x, i, n);
    public static void main(String[] args) {
    int[] nums = {3, 1, 56, 2, 99, 34, 5, 78, -400, 2383, 201, -9, -450};
    Test112 t = new Test112();
    int min = t.recurse(nums, 0, nums[0]);
    System.out.println(min);

  • Convert array of clusters to cluster of arrays without for loop

    Hi!
    Here's a problem: I've got an array of clusters (array of messages). Each cluster consists of elements of different data types: double (time), cluster (parameters), char (station id), byte (message code). I know one cluster size and the array size. I need to draw a time graph. How can I convert the array of clusters to a cluster of arrays (array of time values, array of parameters clusters, arrays of chars and bytes).
    I post this question because in my real array of clusters each cluster consists of 162 elements and some of them are clusters themselves, so I realy dont want to wire "for" loops as was advised in other topics.
    Hope to get fresh ideas. Memory management? Type Cast? FlatternStrings and variants? Anything!
    Thank you. 

    Idea wrote:
    Hi, everybody! Glad you read the post! 
    There is the cluster in the attachment. The application I make is a TCP client. The cluster is a message. Actually I get a string, find edges ("DIAG" - begin, "GAID" - end) and then I use "unflattern to string" for making the cluster. I cann't make another structure of the message - I didn't make the server. My client has a buffer of recieved messages. I need to plot graphs of different cluster elements for all messages in my buffer (for example the Time 1 element). If I use the for loop it would be too slow. The idea was to convert all buffer to a 2D array of U8 and then use type cast to get the cluster of arrays. Then it would be easy to take ane cluster element and send it to graph.
    I didn't sucseed yet. 
    Idea. 
    What is your question about?
    A) convert the string you get from I don't know where to the giant cluster, the red part in your message, or
    B) making a graph out of some element from that giant cluster, who now is in an array, the blue part in your message.
    The code you showed us looks a solution for question A but no loop is needed for this. So why bother about a loop that would be too slow here?
    Also your code start from an array of U8, so where's the string?
    If you could provide a string that needs conversion, we could try another way ... ...
    Question B can easily be solved with a for loop and "unbundle by name". Don't know where you get the idea that a loop would be too slow
    Open G library has a lot of VI's to retrieve specific elements from clusters, maybe one of those could help solve the problem.

  • How to index array in a for loop

    i'm connecting from variant-to-data function to an index array function inside a for_loop (refer to attachment).  the data-type wire got converted from Table(2-D array) to Table(1-D array).  How do I keep it from converting to 1-D array?
    Attachments:
    arrayI.doc ‏146 KB

    Of course it seems you want to run the loop once for each row in the 2D array, so many times autoindexing is the better solution!
    You are using an "index array" inside the loop. If you are planning to wire the index to the iteration [i] terminal (who knows? ), you might as well use autoindexing. This way you don't need to wire N (the loop will know how many rows there are) and you don't need to use index array inside the loop.
    The image shows two functionally equivalent code fragments. Autoindexing (bottom) is much simpler than explicit indexing (top). See if autoindexing can work in your case.
    Since you are a LabVIEW beginner, you should try to stay way from stacked sequences and local variables. They are rarely needed and can ofter cause problems such as race conditions and unreadable code.
    Message Edited by altenbach on 03-31-2008 04:17 PM
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    autoindexing.png ‏8 KB

  • Creating an array without using "auto-indexing"

    Hello,
    it is terrible! I'm new in working with LV5.0 (Evaluation) and I can't
    find any examples how to write data into an array without using the
    function "auto-indexing" of the "WHILE" or "FOR"-loops..
    The values do not appear all at the same time, so I can't use the
    "create_array" function.
    So I want to "collect" all occured values and then write them e.g. in a
    file.
    Did I miss anything in the description ???
    Who can help me?
    Thanks, CHZ

    CHZ wrote in message news:[email protected]..
    > Hello,
    > it is terrible! I'm new in working with LV5.0 (Evaluation) and I can't
    > find any examples how to write data into an array without using the
    > function "auto-indexing" of the "WHILE" or "FOR"-loops..
    > The values do not appear all at the same time, so I can't use the
    > "create_array" function.
    > So I want to "collect" all occured values and then write them e.g. in a
    > file.
    The "Create array" function can be configured to take arrays as well as
    elements. You have to use a loop that iterates as often as necessary,
    checking for new data. When it receives new data, it adds the new data to
    the existing array. It's probably easier to attach a small example than to
    describe it in more
    detail.
    [Attachment Array.zip, see below]
    Attachments:
    Array.zip ‏10 KB

  • Which index values can be sent to "Insert Into Array" without changing the present array ? E.g. index -1 ?

    Which index values can be sent to "Insert Into Array" without changing the present array ? E.g. index -1 ?
    Could not find this info via the "Context Help" window.

    If you have to handle situations where you do not want to insert something in an array, then you can either use a negative index value as you suggested, or put the insert node in a case structure, with the "do not insert" case empty (almost...just crossed by the array wire!..)
    Chilly Charly    (aka CC)
             E-List Master - Kudos glutton - Press the yellow button on the left...        

  • Index array is not getting new values from DAQ

    I am measuring force values with my DAQ card and these values are always changing.  However, in my programming something is not working right with the way I have things set up.  After my DAQ I have a "Convert to Dynamic Data" and after that I have an "Index Array".  When the program is executing and I turn on the highlight option I do not get changing force values after the "Convert to Dynamic Data" and therefore no changing force values enter my "Index Array".  Whaterever the first value is that gets passed to the "Convert to Dynamic Data" is the only value that I get for the remainder of the program.  I tried plugging in an indicator between the DAQ and the "Convert to Dynamic Data" and it did show varying values.  Please help with my program.  I have tried messing with the properties of the "Convert to Dynamic Data" and nothing has worked.  I am stuck and cannot see how to fix this problem.  I have attached my program as it is currently put together.
    Thank You In Advance,
    Gabe.
    Attachments:
    Actuator_Gabe_Oct27_Flat_Sequence_XY_+Measurement_File.vi ‏131 KB

    Please know that the best option is to review the concepts discussed to further understand programming in LabVIEW.  Perhaps you could take a look through ni.com/gettingstarted and ni.com/lv101 to have a look at some of the online help materials.  I have included a VI snippet of the while loop containing the changes.  Further, the code you attached contains a lot of customer controls and VIs, which are not common to all LabVIEW users.  It is a best practice to only attach the code of value to the question/post, and to have the most simplified version of the problem.
    Best,
    Adam
    Academic Product Manager
    National Intruments

  • Create sub-arrays based on the positions of indicies in a separate index array?

     I have a 1D array of index values and a 1D array of measured values. As an example:
    Index array: 1, 2, 4, 7, 126, 127,129, 214, 215
    Measurement array: 5, 6, 8, 4, 4, 9, 8, 7, 5 
    I want to get sub-arrays of measurement array (three for this example):
    [5,6,8,4], [4,9,8],[7,5]
    A sub-array is generated when there is a big gap (this value is known) between consecutive elements of Index array (126-7, 214-129, this value is known, say 80).
    How to do this in labview.
    Thanks
    Solved!
    Go to Solution.

    Alice12 wrote:
    I tried to generate your program but there is some problem (I dont know the false case).
    And I want to find the maxima of each sub-array and then find their average (this should be the final output).
    You have it mostly right.  I explained in my post what's in the false case: an increment (+1) for the top shift register.  The other wires pass straight through.  The image I posted is a "snippet" - it's actual code.  You can drag it into a block diagram (with some web browsers, you will need to drag to your desktop first, and from there to the block diagram).  There is a bug in the snippet creation where it does not always show cluster contents properly, and that's what happened here.  The array constant wired to the left side of the lower shift register contains a cluster containing an array of numeric values.  You will see this if you load the snippet.  I hope that you were able to understand the logic of this code as you were constructing it, but if not, please ask for an explanation.
    From there it is trivial to find the max and averages.  Connect the output of my code to a for loop.  Inside the for loop, unbundle the array, and compute the maximum and average.  Functions to do these operations on any numeric array already exist (look for Array Max & Min, and Mean).

  • How to implement index array inside case structure for searching a 3D array?

    Well I have a 3D array and I want to index certain elements from that array. And I have thought of one way of doing this is to have multiple index array functions on the block diagram to search the array simultaneously, but that would be messy. Or I could setup some kind of case structure and place each index array function into individual cases. I've tried the latter, but when I connect the 3D array to the case structure at the"?" it doesn't give me permission because it says I'm hooking up two different types of data. Case Structure is for T or F and 3D array is not a boolean.
    So how can I setup the Case Structure to work for a 3D array?

    A case structure's selection tunnel cannot accept an array.  What exactly are your search criteria?  It sounds like a few FOR loops will be needed.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Re indexing issues in Apple Loop Browser (LP 9.0.2 / OSX 10.6.1 / Digi 002r

    I'm trying to re index my loop browser in LP9 / OSX10.6.1
    Are you having the same problem?
    After trashing the 'Apple Loop Index', I pull in a folder from an external drive and notice that previous folders added to my browser have gone, including Jam Packs.
    Also, I can't find the 're-index' option within the loop browser search option (right click brings down a list but the re-index option isn't there)
    Interested to see whet you find.

    Yep, I also had issues, where indexing the LP8 way (dragging folders with loops from the Finder onto the Logic loop browser) just bluffed to work (I dropped the folder on the LB, a progress window appeared, things apparently got done, but then nothing, no new entries in the Loop Browser.
    So it seems that it is a L9 problem, since our Macs' are different in every aspect (Me: PPC- you: Intel, me: Leopard- you: Snow Leopard).
    I finally decided to put all my loops in their default install locations and reindex them from there:
    *Library/Audio/Apple Loops/Apple:*
    Jam Pack 4 - Symphony Orchestra
    Jam Pack Voices
    Jam Pack World Music
    *Library/Audio/Apple Loops/iLife Sound Effects:*
    (13 folders)
    *Library/Audio/Apple Loops/User Loops:*
    (some folders with my own and 3rd party Loops)
    *Library/Application Support/Garageband/Apple Loops:*
    Apple Loops for Garageband
    Jam Pack 3- Rythm Section
    for thorough reindexing, here are the steps:
    1. Quit Logic and/or any other app that uses Apple Loops.
    2. Go to all the locations I pointed out and trash all the index files from the *Apple Loops Index* folders. Also check the same locations in your Users/'you'/Library folder.
    3. Start Logic with a new empty project, open the loop browser window by hitting the o key. Now drag the folders mentioned above in bold onto your loop browser. Logic should now index them correctly, including the foldermenu !http://farm3.static.flickr.com/2743/4085966954bf4fc039d7o.png! in the loop browser.
    regards, Erik.

  • Is there arrays or FOR loops in ABAP?

    Hi everyone!
    Is there an array and FOR loops in ABAP similar to the C Language?
    If there is, please give example. _
    Thanks a lot!

    Hi,
    There is no array concept in ABAP but there are field-symbols which are same as pointers in C.As for the FOR loop there is no such command in SAP/ABAP but we do have the do..while and loop...endloop commands.There is also CASE statements and if..endif commands.
    Thanks,
    Sandeep.

  • How do you create an array without using a shell on the FP?

    I want to be able to read the status of front panel controls (value, control box selection, etc.) and save it to a file, as a "configuration" file -- then be able to load it and have all the controls set to the same states as were saved in the file. I was thinking an array would be a way to do this, as I have done that in VB. (Saving it as a text file, then reading lines back into the array when the file is read and point the control(s) values/states to the corresponding array element.
    So how do I create an array of X dimensions without using a shell on the front panel? Or can someone suggest a better way to accomplish what I am after? (Datalogging doesn't allow for saving the status by a filename, so I
    do not want to go that route.)

    Thanks so much m3nth! This definitely looks like what I was wanting... just not really knowing how to get there.
    I'm not sure I follow all the icons. Is that an array (top left with 0 constant) in the top example? And if so, that gets back to part of my original question of how to create an array without using a shell on the FP. Do I follow your diagram correctly?
    If I seem a tad green... well I am.
    I hope you understand the LabVIEW environment and icons are still very new to me.
    Also, I had a response from an NI app. engineer about this problem. He sent me a couple of VI's that he threw together approaching this by using Keys. (I still think you are pointing to the best solution.) I assume he wouldn't mind m
    e posting his reply and the VI's for the sake of a good, thorough, Roundtable discussion. So here are his comments with VI's attached:
    "I was implementing this exact functionality this morning for an application I'm working on. I only have five controls I want to save, but they are all of different data types. I simply wrote a key for each control, and read back that key on initialization. I simply passed in property node values to the save VI at the end, and passed the values out to property nodes at
    the beginning. I've attached my initialize and save VI's for you to view. If you have so many controls that this would not be feasible, you may want to look into clustering the controls and saving the cluster as a datalog file.
    Attachments:
    Initialize_Settings.vi ‏55 KB
    Save_Settings.vi ‏52 KB

  • How do I correct a build error while saving "Calculate Color Index Array.vi"?

    I have an application that takes some data and then periodically generates a nifty 3d graph.  When trying to compile this application to run on a stand-alone machine, i get an error message that crashes the build.  This is the information that is generated for the error:
    An error occurred while saving the following file:
    C:\National Instruments\LabVIEW 2009\vi.lib\Math Plots\3D Math Plots\3D Surface\3D Surface Datatype\Protected\Create Plot Data\Calculate Color Index Array.vi
    Invoke Node in AB_Source_VI.lvclass:Close_Reference.vi->AB_Build.lvclass:Copy_Files.vi->AB_Application.lvclass:Copy_Files.vi->AB_EXE.lvclass:Copy_Files.vi->AB_Build.lvclass:Build.vi->AB_Application.lvclass:Build.vi->AB_EXE.lvclass:Build.vi->AB_Build.lvclass:Build_from_Wizard.vi->AB_UI_Frmwk_Build.lvclass:Build.vi->AB_UI_FRAMEWORK.vi->AB_Item_OnDoProperties.vi->AB_Item_OnDoProperties.vi.ProxyCaller
    <APPEND>
    Method Name: <b>Save:Target Instrument</b>
    Details: 
    Error 6 occurred at AB_Source_VI.lvclass:Close_Reference.vi -> AB_Build.lvclass:Copy_Files.vi -> AB_Application.lvclass:Copy_Files.vi -> AB_EXE.lvclass:Copy_Files.vi -> AB_Build.lvclass:Build.vi -> AB_Application.lvclass:Build.vi -> AB_EXE.lvclass:Build.vi -> AB_Build.lvclass:Build_from_Wizard.vi -> AB_UI_Frmwk_Build.lvclass:Build.vi -> AB_UI_FRAMEWORK.vi -> AB_Item_OnDoProperties.vi -> AB_Item_OnDoProperties.vi.ProxyCaller
    Can anyone help me understand why the 3D Surface Datatype.lvclass keeps booching on my compile?
    Thanks!

    Check this

  • How can I create sub-arrays based on the positions of indicies in a separate index array?

    Please forgive me if this question is basic or obvious. I am fairly new to LabVIEW and I'm trying to learn as I go along.
    I have a 1D array of index values (the number of possible index values is not fixed, but can vary between uses of the application; it could be just {0, 1} on one day and {1, 5, 11, 678} on another) and a 1D array of measurement values (doubles). I'd like to parse the measurement values into sub-arrays for each index, so that if my index array was:
    [0 1 1 1 1 5 5 0 5 5 1 0 1 1 5]
    and my measurement array was:
    [0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.10 0.11 0.12 0.13 0.14 0.15]
    I would get back 3 sub-arrays:
    [0.1 0.8 0.12]
    [0.2 0.3 0.4 0.5 0.11 0.13 0.14]
    [0.6 0.7 0.9 0.10 0.15]
    I know there must be a simple way to do this, I guess I'm just stuck too much in matlab-array thinking to figure it out... please help!
    -- jph
    Solved!
    Go to Solution.

    jamespherman wrote:
    Thus, I figured it might be possible to generalize this idea and send multiple sets of XY values to an XY graph.
    OK, all we need is a trivial modification of what we already have. XY graph data is easiest handled using complex data. Here's a quick rewrite. See if this works for you.
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    SplitInGroupsGraph.vi ‏14 KB

Maybe you are looking for

  • Automatic PO from PR [free text base procurement ]

    Hi SAP gurus , I have following question , I am not using material master , it is a free text base procurement . even there are no contracts in place . Purchasing is only PR - PO w.r.t. & without respect to PR  - GR - IV . etc. How can I create a Aut

  • BAPI_PO_CHANGE: Email Message Output Not Sent (External Send)

    Hello, I'm hoping someone has seen this issue before.  In a Z-program within our ECC system, I am updating various fields via BAPI_PO_CHANGE and the changes are successfully saved and committed to the database.  When the output determination for the

  • Payment Wizard Enhancement Request

    Hello, Currently, SAPB1 does not allow for the exclusion of vendors or customers with $0 account balances when running the Payment System/Payment Wizard. We would like to see this added as standard functionality. Thank you.

  • Scripting with text

    Hello. I have a few simple things that I want to know how to do in Illustrator with Java script so that I can easily automate it. I have looked at examples of scripts but most are too large and doing too many things for me to understand. If you can a

  • Labview won't close down properly after installing Service Pack 2

    Hi, We installed Service Pack 2 for Windows XP recently and ever since, I've had trouble closing down Labview. I'm using Labview 6.1 and whenever I try to close it down, it won't fully close down and I have to use Task Manager to shut it down. What h