'For' loop with a different number of iterations. Second, the auto-indexation of the tables with different sizes is done. It can affect the performance of the Vi?


I have a loop 'for' which can take different number of iterations according to the number of measures that the user wants to do.

Inside this loop, I'm auto-indexation four different 1 d arrays. This means that the size of the tables will be different in the different phases of the execution of the program (the size will equal the number of measures).

My question is: the auto-indexation of the tables with different sizes will affect the performance of the program? I think it slows down my Vi...

Thank you very much.


My first thought is that the compiler to the LabVIEW actually removes the Matlab node because the outputs are not used.  Once you son upward, LabVIEW must then call Matlab and wait for it to run.  I know from experience, the call of Matlab to run the script is SLOW.  I also recommend to do the math in native LabVIEW.

Tags: NI Software

Similar Questions

  • cursor for loops with exception handling

    Hi all

    I use oracle11g I need to write a stored procedure to about 10 select statements with the managements of exceptions for each select statement. I am unable to handle the exception handling.please guys help

    Here is the code sample I wrote









    P_OUT_MSG: = 'BKY000. '




    P_OUT_MSG: = 'BKY001. '






    It's more clear now

    create or replace procedure test_proc (p_id in varchar2, )

    p_mob in varchar2,

    p_out_msg out varchar2,.

    p_result on sys_refcursor

    ) as

    v_err_msg varchar2 (300);

    row_count number;

    no_data_returned exception;

    nonunique_column exception;


    Open Select p_result *.


    where deptno = to_number (p_id)

    and job = p_mob;

    Select count (*)

    in row_count


    where deptno = to_number (p_id)

    and job = p_mob;


    If row_count = 0 then

    raise no_data_returned;

    end if;

    Select keep max (count (*)) (dense_rank first order by Count)

    in row_count

    from (select *)


    Union all - simulating a duplicate line

    Select 7839, "ETBIN', 'PRESIDENT', null, trunc (sysdate), 3000, null, 10

    of the double


    where deptno = to_number (p_id)

    and job = p_mob

    Group by empno

    view count (*) > 1;

    If row_count > 1 then

    raise nonunique_column;

    end if;

    p_out_msg: = 'BYK0000 ';



    When no_data_returned

    then p_out_msg: = "BYK001";

    When nonunique_column

    then p_out_msg: = "BYK002";

    while others

    then v_err_msg: = ' procedure TEST_PROC: error: ' | SQLCODE. ': ' || substr (SQLERRM, 1, 200);




    R_C sys_refcursor;

    E_r emp % rowtype;

    E_m VARCHAR2 (255);

    DEPTNO number: = 10;

    VARCHAR2 (30) employment: = "PRESIDENT";


    dbms_output.put_line (' input parameters: deptno = ' | to_char (deptno) |) '; job = ' | Job);

    test_proc (to_char (DEPTNO), Job, E_m, R_C);

    dbms_output.put_line (' result: ' | e_m);

    If e_m = "BYK0000" then


    extract r_c in e_r;

    When the exit r_c % notfound;

    dbms_output.put_line (to_char (E_r.empno) |' |) '|| RPAD(E_r.Ename,10) |' | '|| RPAD(E_r.job,10) |' | '|| TO_CHAR (E_r.SAL, 'fm99990'));

    end loop;

    end if;


    While other then dbms_output.put_line ('exception: ' | sqlcode |) ': ' || substr (SQLERRM, 1, 200));


    input parameters: deptno = 10; job = PRESIDENT

    result: BYK002

    Statement processed.



  • For loops with the cursor line and indexing

    Hi all

    I have a question about the loops with the cursor, line and indexing.

    How can I scan via a cursor with an iterator?

    I would use an iterator as

    Whole LoopIndex;
    Whole LoopIndex2;

    for LoopIndex at the beginning of the cursor at the end of the cursor
    line =: cursor [LoopIndex];
    for LoopIndex2 of LoopIndex at the end of the cursor
    end loop;

    I need to use an iterator because I need to use a nested for loop.


    How can I solve the following problem?

    Class name % ofClass average test Score
    1 Niobe 7 8 8.4
    1 alena 4 7 7.5
    1 9 7 8.9 Estia
    1 Lilly 10 8 9.8
    1 Sandra 6 8 8.3
    1 Melanie 8 8 8.1
    Nadia 2 8 3 4.4
    Sayuki 2 9 8 8.4
    Diasy 2 7 8 8.0
    Flower 2 7 8 6.5
    Diana 2 6 8 7.3
    3 Flora 7 8 5.8
    Sukiya 3 4 8 8.4
    Samantha 3 10 8 7.7
    Roxanne 3 7 8 6.9
    Eline 3 8 8 7.4

    I need to
    -By class, I need to recalculate each average people
    -By class, I need to calculate the % of class score (sum averages / people in the class)

    So it can be done in a nested for loop?
    Or do I just step by step?

    Well, based on this information it would be something like...

    SQL> ed
    Wrote file afiedt.buf
      1  with t as (select 1 as Class, 'Niobe' as Nm, 7 as Score, 8 as Tests, 8.4 as Average from dual union all
      2             select 1, 'Alena', 4, 7, 7.5 from dual union all
      3             select 1, 'Estia', 9, 7, 8.9 from dual union all
      4             select 1, 'Lilly', 10, 8, 9.8 from dual union all
      5             select 1, 'Sandra', 6, 8, 8.3 from dual union all
      6             select 1, 'Melanie', 8, 8, 8.1 from dual union all
      7             select 2, 'Nadia', 3, 8, 4.4 from dual union all
      8             select 2, 'Sayuki', 9, 8, 8.4 from dual union all
      9             select 2, 'Diasy', 7, 8, 8.0 from dual union all
     10             select 2, 'Blossom', 7, 8, 6.5 from dual union all
     11             select 2, 'Diana', 6, 8, 7.3 from dual union all
     12             select 3, 'Flora', 7, 8, 5.8 from dual union all
     13             select 3, 'Sukiya', 4, 8, 8.4 from dual union all
     14             select 3, 'Samantha', 10, 8, 7.7 from dual union all
     15             select 3, 'Roxanne', 7, 8, 6.9 from dual union all
     16             select 3, 'Eline', 8, 8, 7.4 from dual)
     17  --
     18  -- END OF TEST DATA
     19  --
     20  select class, nm as "NAME", score, tests, average
     21        ,round(((average*tests)+score)/(tests+1),1) as avg_person
     22        ,round((average / sum(average) over (partition by class))*100,1) as class_average
     23  from t
     24* order by class, nm
    SQL> /
    ---------- -------- ---------- ---------- ---------- ---------- -------------
             1 Alena             4          7        7.5        7.1          14.7
             1 Estia             9          7        8.9        8.9          17.5
             1 Lilly            10          8        9.8        9.8          19.2
             1 Melanie           8          8        8.1        8.1          15.9
             1 Niobe             7          8        8.4        8.2          16.5
             1 Sandra            6          8        8.3          8          16.3
             2 Blossom           7          8        6.5        6.6          18.8
             2 Diana             6          8        7.3        7.2          21.1
             2 Diasy             7          8          8        7.9          23.1
             2 Nadia             3          8        4.4        4.2          12.7
             2 Sayuki            9          8        8.4        8.5          24.3
             3 Eline             8          8        7.4        7.5          20.4
             3 Flora             7          8        5.8        5.9            16
             3 Roxanne           7          8        6.9        6.9          19.1
             3 Samantha         10          8        7.7          8          21.3
             3 Sukiya            4          8        8.4        7.9          23.2
    16 rows selected.
  • For loops with the array variable

    I am using a loop for example with the name of the table in the select variable, but get a compilation error

    for current_aud_row in (select * from ' | table_name |' where...)

    table_name contains the name of the actual table

    I do that I get the name of the table as a parameter.
    Help, please!

    Excellent. Oracle APEX (Application Express) is a web IDE and RTS - it makes heavy use of DBMS_SQL to execute SQLs and restore these dynamically in the form of Web-based reports, or turn it into XML for graphical rendering using Flash software.

    DBMS_SQL is perhaps more complex (and only really necessary when it comes true dynamic SQL at all stages - including the result of SQL), but we must know how to use and apply. It is a valuable tool at times.

  • Bug in the conditional for loop with an array empty

    There seems to be a bug in the loop with a conditional terminal.

    If an empty array is connected to an indexed table auto entry tunnel, a tunnel of output array has an element instead of zero.

    The constant matrix is left empty.

    High loop without the conditional Terminal produces an empty array.

    Conditional down with a terminal loop never true generates an array containing a single element

    Thanks to LabVIEW version 8.5

  • How to: display a message while for loops, with no required user input

    Hi everyone, I'm relatively new to LabView, using 8.5.

    I want to display a message all in one for the loop runs, requiring no user input to delete the dialog box (that is to say, the box disappears after the end of the loop For).

    Any ideas?

    Thank you


  • How to get the maximum number of iterations in the property of TS

    I was put the loopType from one step to the count of success/failure. For example "stop after 1 iterations pass or a maximum of 3 iterations. The maximum iteration is 3. What my qustion is how to get the maximum iteration of TS property by codes of trial during the race. Thank you very much!

    Corey Chen

    The OPPO test developer


    It may be a hack, but RunState.Step.LoopWhileExpression has information.  It will return a string like: "RunState.LoopIndex."< 69="" &&="" runstate.loopnumpassed=""><>

  • for loops with stdout all iterations


    I have a loop that calls an external script. The external script something writes to stdout. I would like to see the stdout. I tried to connect a string to standard output, using a tunnel of concatenation. But it always shows only one line to stdout, not all of the output of the iterations. How can I achieve that?

    iviewlab wrote:

    Thanks for your help.

    I want to see stdout running. So I use a shift register for now. But I still don't understand how to get all the exit seeing a single string. I tried to use the building, but it doesn't seem to work?

    How about using concatenate the String?

  • For loops with string

    Excerpt: Labview Developer Suite Sound and Vibration Option 2009 SP1

    I need format some number and strings to insert into a txt file using the loop For. This structure above make the service but an empty space when run the outer loop. I need to remove this empty space, I have tried several ways, but don't get the success.

    Turn the arrow on the figure.

    'Table in spreadsheet string' function apparently puts it in a pair of 'carriage return, new line' all four lines (a "line" of the original array). I could find any arrangement that prevents him, not know not why it presents itself as a space, but if you put a "find and replace" (from the string function palette) and are looking for a 'return Constant transport' and replace with an "empty string", defining the Optional Boolean value "Replace all?" true it removes.

  • for loops with the name of the layer.

    I developed a script that checks if the layer color-101 exists in an open document.

    If the layer color-101 exists executes the block of code on layer color-101.

    If the layer color-101 are not running action Add layer color-101.

    Back at the beginning of the loop to check again

    I do it with a loop for and if statement.

    1. Why does the loop not stop when the loop count variable corresponds to the layer color-101 name variable?

    2. how the loop can return to the beginning to check again the presence of color-101 layer?

    Variable decalre

    app.activeDocument = docRef;

    var theLayer = "color-101;

    loop through the layers

    for (var i = 0; i < docRef.layers.length; i ++) {}

    the layer name corresponds to the loop variable

    If (docRef.layers [i] .name == theLayer) {}

    Execute the block of code for layer color-101

    Alert ("Layer" + theLayer + "exist.");



    layer color-101 was not found, enforcement action Add layer color-101

    Alert ('The' + theLayer + "' there is no layer: Run Add layer color-101 action. '");

    back at the beginning of the loop and check again

    Your loop does not actually stop to find the right layer. He is content to display the alert popup window, then continues. Also the 'not found' - part will still raise. And the comparison must be 100% equal without difference case or spaces or 'copy 12' - suffixes.

    Try something like

    Declaring variables

    app.activeDocument = docRef;

    var layer_found = false;

    loop through the layers

    for (var i = 0; i)< docref.layers.length;="">

    var layer = docRef.layers [i]

    If (Layer.Name.toLowerCase (). IndexOf("case-101") > = 0) {}

    Alert ("found layer:" + layer.name);

    layer_found = true

    do what needs



    If (! layer_found) {}

    Alert ("Layer not found!");

    do what needs


  • for loops with cursor

    Hello Experts,

    I'm a beginner in PLSQL. I use the oracle 11g on windows machine 7.

    I wrote a simple code that gives me an output.

    v_dealer_name southern_orders.dealer_name%type;
    v_total_order southern_orders.total_order%type;
    cursor southern_cursor IS
    SELECT distinct (dealer_name), sum (total_order) OF THE group southern_orders by dealer_name;
    OPEN southern_cursor.
    IF this is is southern_cursor % ISOPEN THEN OPEN southern_cursor;
    END IF;
    BECAUSE me in 1... LOOP 38
    EXTRACT the southern_cursor in v_dealer_name v_total_order;
    EXIT WHEN southern_cursor % NOTFOUND or southern_cursor % ROWCOUNT > 37.
    dbms_output.put_line (' the dealer is: ' | v_dealer_name |) "and their order is:' | '. v_total_order);
    END loop;
    close southern_cursor;

    the result is:

    the dealer is: has and their order is: 1000
    the dealer is: B and the order is: 2000
    the dealer is: c and the order is: 3000

    In the code above, I calculated the total number of lines, and then wrote the code. Instead, I would use the sql loop to the code.your above help is appreciated.
        v_dealer_name southern_orders.dealer_name%type;
        v_total_order southern_orders.total_order%type;
        cursor southern_cursor
            SELECT  dealer_name,
                    sum(total_order) total_order
              FROM  southern_orders
              group by dealer_name;
        FOR v_rec in southern_cursor LOOP
          dbms_output.put_line('the dealer is : ' || v_rec.dealer_name || ' and their order is :' || v_rectotal_order);
        END loop;


  • for loops with movieclips


    I have twenty movieclips on stage with these names:






    How to make invisible with a loop for, as

    for (i = 1; i < 20; i ++)


    g + i.Visible = false;


    What does not work.

    Can you help me, please?

    for (var i: int = 1; i< 20;="">


    This ['g' + i] .visible = false;


  • How to move the Cursor parameter for loop with the type of table?

    Hi friends,
    I wonder how to pass a parameter into the second loop in the code example below. Please see the "BOLD" statements and to answer my questions.
    Thank you very much. Here's the code.

    V_bom_header_tbl Bom_Bo_Pub.Bom_Head_Rec_Type: = Bom_Bo_Pub.G_MISS_BOM_HEADER_REC; -Record type
    v_bom_components_tbl Bom_Bo_Pub.Bom_Comps_Tbl_Type: = Bom_Bo_Pub.G_MISS_BOM_COMPONENT_TBL; - nested table type
    c: number = 0;
    k: = 1 number;
    BOMPXINQ. () Export_BOM
    P_org_hierarchy_name = > l_org_hierarchy_name,
    P_assembly_item_name = > l_assembly_item_name,
    P_organization_code = > l_organization_code,
    P_alternate_bm_designator = > '1Test. "
    P_Costs = > l_costs,
    P_Cost_type_id = > l_cost_type_id,
    X_bom_header_tbl = > l_bom_header_tbl,
    X_bom_revisions_tbl = > l_bom_revisions_tbl,
    X_bom_components_tbl = > l_bom_components_tbl,
    X_bom_ref_designators_tbl = > l_bom_ref_designators_tbl,
    X_bom_sub_components_tbl = > l_bom_sub_components_tbl,
    X_bom_comp_ops_tbl = > l_bom_comp_ops_tbl,
    X_Err_Msg = > l_Err_Msg,
    X_Error_Code = > l_Error_Code);
    If l_Error_Code = 0 then

    because me in 1... l_bom_header_tbl. COUNTING LOOP
    V_bom_header_tbl.organization_code: = "DSC";

    Can assign us a table type of guy like below the registration statement?
    V_bom_header_tbl.assembly_item_name: is l_bom_header_tbl (i) .assembly_item_name;.

    k: = 1;

    I want to pass the l_bom_header_tbl (i) .assembly_item_name parameter in the declaration below: How do I do this?
    for j from 1... l_bom_components_tbl. COUNTING LOOP

    Can assign us a table type of type array as below the statement?
    v_bom_components_tbl (k). Assembly_Item_name: is l_bom_header_tbl (i) .assembly_item_name;.
    k: = k + 1;
    end LOOP;
    end loop;

    Published by: ILovePlSql on March 22, 2010 07:51

    Published by: ILovePlSql on March 22, 2010 08:16

    ILovePlSql wrote:
    V_bom_header_tbl emp % rowtype;

    If v_bom_header_tbl has just two fields as ename, sal then also the assignment of type table, record type work or if the record type and the array type have the same structure?


    SQL> declare
      2      type Bom_Head_Rec_Type is record(ename emp.ename%type,sal emp.sal%type);
      3      type BOM_HEADER_TBL_TYPE is table of Bom_Head_Rec_Type index by binary_integer;
      4      l_bom_header_tbl BOM_HEADER_TBL_TYPE;
      5      V_bom_header_tbl emp%rowtype;
      6  begin
      7      select ename,sal bulk collect into l_bom_header_tbl from emp;
      8      for i in 1 .. l_bom_header_tbl.count loop
      9        V_bom_header_tbl.ename := l_bom_header_tbl(i).ename;
     10        V_bom_header_tbl.sal := l_bom_header_tbl(i).sal;
     11      end loop;
     12  end;
     13  /
    PL/SQL procedure successfully completed.


  • Simple for loops with the table?

    Just a quick question!  I've been watching this for 2 hours and I searched everywhere, but always without success.

    I have a simple table containing elements.  When the user edits the page, I want that these elements in the array to become visible.

    var outfit:Array = ["Doll.Drawers.Shirt1", "Doll.Drawers.Pants1", "Doll.Drawers.Jacket1"];
    function f_item_show(event:MouseEvent):void
                        for(var i:int = 0; i < outfit.length; i++)
                                  this[outfit[i]].visible = true;  // THIS IS THE ISSUE //

    The elements in the array are strings of the instance names, so I just need each string to be converted to an object and part .visible each element set to true.

    I know my loop works properly, because the trace reads accurately each instance name in the list.  I thought that this part [] would solve my problem, but it's not... I get this error message:

    TypeError: Error #1010: A term is undefined and has no properties.
              at PokeDress_fla::MainTimeline/f_item_show()

    I know it's one line of code, because it works perfectly when I delete.  All my instance names are correctly labeled and added, because they are used many times in the code without flaw.

    What I am doing wrong?

    To use the stand of notation, each medium can only represent a single object, so you would need three media since there are three objects in your channel... which means you would need three tables.

    If they appeal to target something inside the Doll.Drawers object, then you could simply store the shirts and pants and whatnot in the table as strings and use...

    Doll.Drawers [outfit [i]] .visible = true;

    What you should try instead is to store the actual paths to objects rather than representations of string of them, as in...

    var outfit:Array = [Doll.Drawers.Shirt1, Doll.Drawers.Pants1, etc...

    Then you should be able to use...

    costume [i] .visible = true;

  • Very odd behavior of 'for' loop with configurable class

    Who can explain to me two compile errors in this fragment?
    public class JavaBug
    Public static interface bugs < TBug extends JavaBug >
    Iterable < TBug > getTBugs();
    Iterable < JavaBug > getBugs();

    public static why (Bugs bugs) Sub
    for (bug JavaBug: bugs.getTBugs ())


    for (bug JavaBug: bugs.getBugs ())



    Sorry if an example like that was allredy displayed, just give me a link in this case.

    Published by: 816877 November 30, 2010 07:00

    If* 1.4 compatibility is your goal. First, you mentioned here. If this isn't a goal, it's the worst answer because you transfer all the insecurity of the run-time type.

Maybe you are looking for