Plot a changing 3d vector from discrete values

Hello
I have a labview program with a while loop that gives me 3 new values every iteration. Lets say they are:
while(1)
i=i+1
x = i
y = i/2
z = -i
I want these to be plotted in a 3d graph, so that it will show a number of dots, updated in realtime, as the loop is iterating.
I'm a beginner with labview, so please explain how to do this as detailed as possible.

Hi,
Just as JKMM suggests, you can use a Line Graph. The key is to use shift registers to store the growing arrays of elements that you generate. For each loop, you add a new element to the x, y and z array before updating the Line Graph. I attach an alternative to JKMM's alternative with some property nodes that you can play around with.
Attachments:
line_graph_3dplot.vi ‏22 KB

Similar Messages

  • BED change in capture excise(J1IEX)-value moved from Inventorized duty to Credit available

    Dear Friends,
    Scheduling Agreement has  a material which is subject to non-setoff JMIP(inventorized). WhileGR(105) posting, excise is only captured.
    When Excise number is checked in J1IEX, excise inventory value is displayed under Duty Values tab and in Inventorized duty field(because it's JMIP).
    Now due to some reason captured excise's BED needs to be changed from 12% to 10% under Duty Rates tab in BED field. Now when this BED percentage change is done, inventorized duty value(in Duty Values tab) becomes ZERO and new value is updated in Credit available field(in Duty Values tab). Now this Credit available field is used for SETOFF values which update CENVAT.
    Could anyone please why SAP is behaving in such a way? According to me, new BED value should be updated in inventorized duty value.
    Thanks & Regards,
    Mihir

    What i understood from your post is that you have changed the Excise rates from J1IEX transaction from 10 to 12% for example. After doing this, these values are appearing in Set off values instead of Inventorized values. Let me know whether my understanding is correct?
    If this is the case, you better cancel the GRN document and Cancel the excise invoice (Provided Excise invoice is not yet posted) and Change the Purchase order / Scheduling agreement (Change Condition records in FV12)  and redo the GRN against Purchase order / Scheduling agreement.
    For me, this seems to be bug. You have two options, one is changing the duty back to Inventorizable in Excise tables or raise an oss message for SAP to revert with the correction instruction.

  • How to remove value from a vector (from its top index 0)

    HI Friends
    A basic question. In my code i am adding values in vector (v). Now i want to remove the values from the top of the vector (from index 0) and move them in an variable temp. How can i do it. I know there is a method remove in vector. but i am not sure how to use it.Can anybody show me how to do this?
    here is my peice of code
       public void result (){
            int temp1,temp2;
            for(int i=0; i<=  3000;i++){
               v.removeElement(i);
           }Thanks alot in advance

    Well, i'm Not sure what ur problem is...?!?
    Do U mean to say,
    You need to just remove the 0'th element from a Vector & store THAT in a element called temp..?!?
    Plz. have a look at the Vector class API in (for Java 1.4)
    http://java.sun.com/j2se/1.4.2/docs/api/
    There's a remove( ) which takes the index of the element to be removed...
    In ur case, u could say, for example
    Object temp = myVector.remove(0);or more appropriately,
    SomeType temp;
    temp = (SomeType)myVector.remove(0);--fritz                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • [svn:osmf:] 14235: PARB changes: Remove targetBufferTime from the metrics provider, this value can' t be set in the absence of an understanding of the buffering strategy which is layered on top of NetStreamBufferTrait .

    Revision: 14235
    Revision: 14235
    Author:   [email protected]
    Date:     2010-02-17 19:27:33 -0800 (Wed, 17 Feb 2010)
    Log Message:
    PARB changes: Remove targetBufferTime from the metrics provider, this value can't be set in the absence of an understanding of the buffering strategy which is layered on top of NetStreamBufferTrait.  Adjust switching rules to work from the raw buffer data instead of this target.  Remove all bufferTime modifications from the MBR code, so that they won't impact any buffering strategies (addresses FM-436).
    Ticket Links:
        http://bugs.adobe.com/jira/browse/FM-436
    Modified Paths:
        osmf/trunk/framework/OSMF/org/osmf/net/NetStreamMetricsBase.as
        osmf/trunk/framework/OSMF/org/osmf/net/NetStreamSwitchManager.as
        osmf/trunk/framework/OSMF/org/osmf/net/rtmpstreaming/InsufficientBufferRule.as
        osmf/trunk/framework/OSMF/org/osmf/net/rtmpstreaming/RTMPNetStreamMetrics.as
        osmf/trunk/framework/OSMF/org/osmf/net/rtmpstreaming/SufficientBandwidthRule.as
        osmf/trunk/libs/adobe/NetMocker/org/osmf/netmocker/MockNetStreamMetricsBase.as
        osmf/trunk/libs/adobe/NetMocker/org/osmf/netmocker/MockRTMPNetStreamMetrics.as

    Please do not duplicate posts. You have already started a thread on this subject.

  • Converting audio signals from mydaq into discrete values

    Hi guys!
    I am currently building a project that accepts audio signals from mydaq. I wanted to make the analog signals have it descrete peak values. Is this possible? I plan to use the discrete peak values and sum them up using a shift register instead of doing peak detection. I think it is more easy.
    Any suggestions would help. Thank you very much!
    .."in the end we all have false hopes"..
    Solved!
    Go to Solution.

    FalseHope wrote:
    Well actually, i wanted to make the acquired signal have its discrete values because i will use the number of peaks of the sound to determine which sound is louder (my assumption is that, the louder the sound or the nearer the sound to the microphone. The more sound peaks can be acquired. While lesser peaks are acquired the least louder the sound).
    That is wrong (unless you are dealing with Doppler Shifts, but they implies the object is moving).  Closer peaks mean that you are dealing with a higher frequency (or pitch).  Louder sounds just have higher amplitudes (larger peaks).
    FalseHope wrote:
    I will acquire sound signal from the mydaq, then detect the peaks and add those peaks while it is entering the acquisition. I wanted to make it discrete so that i will be able to add the numbers and the addition will stop once the sound is no longer present. The sound im talking about is a sound burst. Or a single instant sound and is not continuous.
    Just use the peak detection function.  You can then add whatever peaks it finds from the current acquisition.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Can I detect a plot name change event in a plot legend?

    I'd like to update a configuration file if a user changes the name of a plot in the plot legend.
    The events I see for plots are:  value change, autoscale range change, plot attribute change, and scale range change.
    Plot attribute change does not seem to include anything that looks like plot name, and the others obviously don't contain that info either.
    Is there any way to grab this event?
    Thanks.
    Solved!
    Go to Solution.

    Jordan,
    First off, remember that there is no single way to code anything, so I can offer one possible solution for you, but it is definitely not the only one.
    LabVIEW does not have a property to check if the name has been changed through an event structure, but you can create your own events that LabVIEW can read. I found this really good document that might help you. Read through this and mess around with it and see if it gets you anywhere: Creating User Events
    Once you get it to trigger the proper case, then its just getting that case to update the file you would like.
    Another possible workaround, although not ideal, is to create a string control and have that be on top of the plot name. You would be able to then produce an event from that string changing value.
    Hope this helps.
    Douglas C.
    Applications Engineer
    National Instruments

  • Y/t - graphic: discrete values are displayed continuously

    Whenever I want to display discrete values in a y/t - graphic, they are displayed continuously (adjacent function values are connected)
    See for example:
    The lower graphic should show the following discrete function:
    x | (fx)
    ---|--------
    2 | 0
    3 | 1.27
    4 | 0
    5 | 0
    6 | 0.64
    7 | 0
    8 | 0
    9 | 0.42
    But as you can see, adjacent function values are connected. I couldn't find out, how I can change that. Hope someone can helb me!
    thanks,
    Philipp
    Solved!
    Go to Solution.

    Excellent question and documentation! Thank you for making it very easy to answer your question.
    Click on the Paintbrush icon on the Y/t chart display - this is a link to the Colors and Lines properties for the chart display. Select Bar from the drop down list for Input 0.
    If you prefer a discrete symbol, choose from cross, square, circle, etc.
    - cj
    Measurement Computing (MCC) has free technical support. Visit www.mccdaq.com and click on the "Support" tab for all support options, including DASYLab.

  • Replacement from the Value of an Attribute*

    Replacement from the Value of an Attribute
    With formula variables you can set the processing type Replacement from the Value of an Attribute and create a reference to the reference characteristic for the variable. The attribute Reference to Characteristic (Constant 1) is a dummy attribute that is available with each characteristic. It serves to create a reference to the characteristic, by which it does not need to be aggregated. By choosing this attribute, you can influence the aggregation behavior of calculated key figures in a targeted way and can improve performance during calculation.
    1)what does this do in the query?
    2)what is the value of the variable created ?(like 1,2 etc {i.e.} it changes or is  a constant value like 1)?
    E.g. i have created a formula variable zvar , (replacement path  type) ref. char is wbselement, then what will be the value of the zvar if its used in a formula
    eg.  Formula 1 = kef1 kef2zvar.
    what will be the value(s)  of the variables in the these cases
    1. project = 1000,1000.30.
    2.project = 2000,2000.30.01
    3.proect = 3000,3000.30.01,3000.30.02.
    3.) as per the def. its a  number which refer to a wbs, then in the FORMULA , will it consider the zvar as a VALUE or what would happen?
    Edited by: jumboash on Oct 23, 2009 7:25 PM

    Hi,
    ZVAR is not considered as value in the calculation. It is used only to calculate the formula correctly without aggregation of the operands.
    For example there are two materials m1 and m2 . total amount has to be calculated for these materials whose quantitys are 10 and 20 and whose prices are 200 and 300 respectively.
    Case1:- if ZVAR is not used then the calculation of the fromula will be as follows
    qty   Price    amount
    10 * 200   = 2000
    20 * 300   = 6000
    30 * 500 =  15000     ->   The total amount shows is 15000 which is not correct
    Case 2: -  if ZVAR is used in the calculation of the formula
    qty   Price    amount
    10 * 200   = 2000
    20 * 300   = 6000
                       8000   -> The total amount shows is 8000 which is correct
    so using the ZVAR in the formula shows the correct result without considering the aggregation . This is useful in the case if the material is not part of rows.

  • I need a control which allows a user to choose from specific values (which I specify), NOT 0, 1, 2 etc. [I KNOW I can let him enter 0, 1,2 fro

    m a listbox, and then change the value on the block diagram, but what I want is that on the subvi node itself he can enter the actual values, say 1, 10, 200. Does anyone know how to do this, creatively, since currently a control like this is not available.I need a control in Labview which allows a user to choose from specific values (which I specify), NOT 0, 1, 2 etc. [I KNOW I can let him enter 0, 1,2 from a listbox, and then change the value on the block diagram, but what I want is that on the subvi node itself he can enter the actual values, say 1, 10, 200. Does anyone know how to do this, creatively, since currently a con
    trol like this is not available.

    m a listbox, and then change the value on the block diagram, but what I want is that on the subvi node itself he can enter the actual values, say 1, 10, 200. Does anyone know how to do this, creatively, since currently a control like this is not available.> I need a control which allows a user to choose from specific values
    > (which I specify), NOT 0, 1, 2 etc. [I KNOW I can let him enter 0, 1,2
    > from a listbox, and then change the value on the block diagram, but
    > what I want is that on the subvi node itself he can enter the actual
    > values, say 1, 10, 200. Does anyone know how to do this, creatively,
    > since currently a control like this is not available.
    >
    One way of doing this is to use either a ring or enum where the strings
    presented to the user are "1", "10", or whatever you like. On the
    diagram, the values will be 0, 1, 2, in a compact counting sequence.
    Then do an array index into a constant. If this is done more than one
    place, make the control a typedef so you can keep them consistent an
    d
    make the index be done in a subVI. Then whenever you need this, you
    drop the control and the subVI, out comes the integer, float, or
    whatever it is you want to index.
    Greg McKaskle

  • Customer Master - Preview (address) button, change default lines from 10

    Currently on ECC 6.0.
    I would like to change the default setting of "Number of Lines" from 10 to 6 within the "Preview" button on the Address tab within XD01,2,&3.  
    This would be a system or user setting so the user doesn't have to manually change the "Number of lines" via the Parameter button each time in XD03.  So I know we can change it manually from 10 to 6 via the Parameter button, however, I don't want to have to do this.  I want the default setting, for all users, to be 6 instead of 10.
    I see you can have a "user-specific" default sender country parameter, however, I can't find where to change the system or user default setting of the Number of Lines from 10 to what we want, 6.
    Got lost in the debugger, in XD03, trying to capture where this value was being set from.
    Any help on this would be greatly appreciated.
    Thanks.
    David

    Hi,
    XD03 calls FM ADDRESS_INTO_PRINTFORM which is responsible for formatting. You can see that import parameter number_of_lines has default value 10. There is a user exit EXIT_SAPLSADR_001 for this function group where you can change this default value. It is only called in case of address format key is in customer range (900 - 999). So maybe you can define your own address format and modify default value in this user exit.
    In case you don't want to define your address format for some reason then there are another solutions. If you are on SAP NetWeaver then you can try to use implicit enhancement point to change this value at the beginning of FM ADDRESS_INTO_PRINTFORM. If you are not on NetWeaver you can modify default value of this FM. You will have to modify SAP standard.
    Cheers

  • Change materail master from non-split valuated to split valuated (E M3 194)

    Valuation category cannot be added in the accounting 1 view when stock is available in the previous period. Is there a way to overcome this?
    This is the situation. We have stock materials that are not defined as split valuated until the business requires so. Valuation category cannot be added in the accounting 1 view if stock is available. In this case we issue the stock out, add the valuation category and then return the stock again as split valuated now. However, we still get error M3 194 since we have stock available in the previous period.
    Thanks.

    Hi,
    I did not find a solution to allow you to change split value back and forth. The SAP check is hard coded and there is nothing you can do about it. However, I found a trick to be able to change it back and forth.
    1. Compare your stock figures in this period with the previous period (MM03 accounting view).
    Previous period: 20 EA; value $200; MAP $10
    Current period: 12 EA; value $144; MAP $12
    2. You need to receive/issue stock in the current period to make quantity and value the same in both periods. We have configured special movement types (copy from 501 and 201) to allow pre-priced movements. You only need to make the amount field required for these new movement types.
    In this example execute a 501 (use the custom movement type) to receive in the current period 8 EA with a total value of $56. After the movement this is what you have:
    Previous period: 20 EA; value $200; MAP $10
    Current period: 20 EA; value $200; MAP $10
    Accounting: Inv +56
                      Exp -56
    3. Make sure you allow posting to the previous period.
    4. Issue stock out (201) using postind date in the previous period. After the movement this is the situation:
    Previous period: 0 EA; value $0; MAP $10
    Current period: 0 EA; value $0; MAP $10
    Accounting: Inv -200
                      Exp +200
    5. Change your material to split value or non-split valued (MM02)
    6. Receive stock back in this period. You need to use the pre-price movement type. Receive the quantity and value so you have the same quantity and value you currently have in stock. In this example we should receive 12 EA with value $144. After the movement this is what you have:
    Previous period: 0 EA; value $0; MAP $10
    Current period: 12 EA; value $144; MAP $12
    Accounting: Inv +144
                      Exp -144
    Hope it helps.
    Regards, Jose Oyon.

  • Change of LDB from PNP to PNPCE

    HI All,
       I have a HR program where LDB PNP is used. Now I need to change the LDB from PNP to PNPCE. Can any one please tell me what are the mandatory change I need to do in the program after changing the LDB.
    Thanks & Regards,
    Arnab

    Hi,
    Purpose
    The PNPCE logical database supports the evaluation of HR master data. It includes the functions of the PNP logical database and offers additional evaluation options. Therefore, you should use the PNPCE logical database instead of the PNP logical database for all new developments.
    The enhanced functionality of PNPCE in comparison to PNP essentially concerns the evaluation of Concurrent Employment, that is the possibility to group evaluate several assignments/personnel numbers of a person. The new events 'GET PERSON' and 'GET GROUP' as well as an enhanced syntax for the INFOTYPES statement (addition AS PERSON TABLE) for the procurement of infotype data enable you to use the new functionality. The use of these new functions is optional. You can run a PNPCE report that does not use the new events and the addition for the INFOTYPES statement in a PNP-compatible session. Since the PNPCE also has an improved selection screen, each report benefits from this even if the report does not use the functions for evaluating Concurrent Employment.
    Prerequisites
    A report that wants to use the PNPCE must enter this in its report attributes under Logical database.
    In addition, the PERNR structure must be declared in the report using the 'TABLES PERNR' statement. You can only use the PERNR structure again in certain circumstances. The use of the 'GET PERNR' event is therefore forbidden. Instead, use the 'GET PERAS' event. Except for the PERNR-PERNR component, all other components of the PERNR structure are no longer filled and have initial values. This kind of programming (with the exception of PERNR-PERNR) therefore not permitted.
    In addition to the 'GET PERAS' event, you can also use the GET PERSON' and 'GET GROUP' events. To be able to use these events, you must declare them using the NODES statement (NODES PERSON', 'NODES GROUP', or. NODES PERAS').
    Explanation of Terms
    If the 'GET PERSON' and 'GET GROUP events and the 'AS PERSON TABLE' addition for the INFOTYPES statement are not used, the report indicates that it does not require the functionality for evaluating Concurrent Employment. In this case, the report runs in a PNP-compatible session. This is referred to as PNP mode in the following documentation. On the other hand, if the report uses the functionality for evaluating Concurrent Employment we refer to CE mode.
    Features
    Process of an Evaluation
    The PNPCE selection screen offers you as standard a range of functions that you can use to restrict the personnel number and person selection. These are discussed in more detail in the following sections. The process is initially as follows regardless of whether the report runs in CE or PNP mode. All available functions and selection conditions leads to the selection of personnel numbers. If you use the sorting function, this set of personnel numbers is then sorted according to the sort criteria you selected. In PNP mode, the GET PERAS event is triggered as a result for each personnel number.
    In CE mode, the persons belonging to the personnel numbers are determined first for all personnel numbers selected. The GET PERSON event is then triggered for each person. The person ID is specified in the OBJID component of the PERSON structure. PERNR_NUM contains the total number of personnel assignments (= personnel numbers) that this person has and the ALL_PERNRS table, which contains a list of these personnel numbers regardless of whether they were actually selected or not. The SELECTED flag is set to X for the personnel numbers selected. The flag is initial for all personnel numbers that are not selected. The PROCESS flag specifies whether the personnel number should be processed in the rest of the process. This flag is set to X by default for the personnel numbers selected. However, the report can set or delete this flag at the GET PERSON event for all personnel numbers. In this way, report and logical database communicate with each other which enables the report to control the rest of the process.
    In the next step, the logical database groups all personnel numbers of a person that are to be processed (that is, all personnel numbers that have the PROCESS flag set). The report can control the type of grouping using the PNPCE_GROUPING_FROM_PAYROLL flag (normal or payroll grouping) and using the PNPGPRSN (grouping reason) and PNPGPVAL (grouping value) parameters of the selection screen. The GET GROUP event is triggered for each group of personnel numbers determined. The GROUPING_REASON and GROUPING_VALUE components contain the grouping reason and grouping value of this group. The number of personnel numbers that belong to this group and that are processed subsequently is in PERNR_NUM. The included ALL_PERNR table contains a list of these personnel numbers with additional information. The SELECTED flag specifies whether the current personnel number was originally selected (flag is set) or was marked by the report as to be processed. GROUPING_BEGDA and GROUPING_ENDDA contain the validity period that the personnel number has for this grouping. The NO_AUTHORITY flag is set if there is insufficient authorization for a personnel number. This personnel number is not processed further. The SORT component defines a standard sort order for the personnel numbers of a group. The report can change this by overwriting the values. In this way, report and logical database communicate with each other, which controls the further processing sequence of the personnel numbers.
    The GET PERAS event is then triggered for all personnel numbers of the group (with the exception of the personnel numbers for which no authorization exists) in the sequence defined by the SORT component (see above). The SELECTED, GROUPING_BEGDA, and GROUPING_ENDDA components have the same meaning here as with the GET GROUP event. The PROCESSED_BEFORE flag specifies whether the personnel number has already been processed once before (it is possible that the personnel number belongs to several groupings and has been therefore been processed several times).
    Thanks and Regards
    Ravi

  • My status change to pass from fail after 40 days. Microsoft Exam 74-409 Score

    Microsoft update 74-409 exam.
    My status change to pass from fail after 40 days..
    Recived below email. is this possible ?
    Dear Valued Customer,
    You recently took Microsoft Exam 74-409: Server Virtualization with Windows Server Hyper-V and System Center. After close evaluation of the exam, we have made some revisions that resulted in a change to your exam results. We are pleased to inform you that your
    status has been changed to ‘PASS’. This update will be reflected in your official transcript within two weeks. A new score report will be mailed to you within two weeks.
    Thank you for taking this exam and for your support of our program.

    Yes its possible, but its also possible that its a scam trying to entice you to provide information that could be used for identity theft.  I would wait a couple weeks and then check your transcript on the MCP site.  If the exam shows then it was
    for real.  If it doesn't then it was probably a fake message.
    The reason it might be for real could be that someone challenged the clarity of one of the questions in their comments and Microsoft decided after looking into it that some question was misleading.  This might have lead them to accept more than one
    answer or to throw the question out.  That could have modified your score in some way and promoted you above the Pass line.  It is possible, but not likely.
    Paul Stork SharePoint Server MVP
    Principal Architect: Blue Chip Consulting Group
    Blog: http://dontpapanic.com/blog
    Twitter: Follow @pstork
    Please remember to mark your question as "answered" if this solves your problem.

  • How to plot waterfall graph in vb6 from offline data

    How to plot waterfall graph in vb6 from offline data?The data load from SQL Server Database.Thanks.

    asrol,
    If you look at the Plot Styles example in the folder I mentioned in the previous post there is a section of code there that you might want to refer to in order to recreate your data.
    '=============================================================================
    ' Plot Curve Button Handler
    '=============================================================================
    Private Sub PlotCurve_Click()
        ' Create curve data
        Dim x(40)
        Dim y(40)
        Dim z(40)
        For i = 0 To 40
            x(i) = Sin(i / 3#)
            y(i) = Cos(i / 3#)
            z(i) = i
        Next i
    In this example they create 3 arrays to represent the three dimensions of the array. For your case if you were to plug your data into two of the array (axes) that would give you the data for the channels, then you can simply input a constant for the third array it would produce a single line of your data as shown in your example GIF.  You can then repeat this process for each set of data, with a new constant value for that third axis, and it should manually create a graph that will look something like you desire.
    John B.
    Applications Engineer
    National Instruments

  • BEX F4 help values from posted values in Info Provider not from Master data

    We have an info object called Archival purpose and it is display attribute of Master data info object Archive Number. Both Info objects are used in a cube. Posted values in cube have only two value for info object Archival purose which is "EXCOM" and "EA".
    But when we do the F4 in the bex query, we see some other F4 values. Although Master data is having other entries but we have defined in the bex property of both the info object to read the f4 value from the posted values in the info provioder.
    Please suggest how to get values in bex F4 help only from posted values in info provider and not from the master data.
    Thanks

    Hi,
    You don't need to change the Infoobject definition as it will become global and it will be applicable for whereever this infoobject is used.  Instead you can manage this setting for this particular Infoprovider.
    Go to RSA1 and double click on your infoprovider used for this query, go to change mode. From the right hand side dimension tree search for the Infoobject for which you want to maintain this property. If it is navigation attribute then you can search it in navigation attribute tree.
    Once you find the infoobject right click and from context menu choose the first  option "InfoObject specific properties". In the next popup in the last option about F4 values for filter you can select the option, "Only values from Infoprovider".
    Regards,
    Durgesh.

Maybe you are looking for