LabVIEW Idea Exchange

Community Browser
Top Authors
cancel
Showing results for 
Search instead for 
Did you mean: 
Post an idea

The "Std Deviation and Variance.vi" of the Probability & Statistics" Palette:

 

Screen Shot 2014-12-30 at 12.06.14.png

 

does exactly what the description says.

Wait!

What is that "Weighting (Sample)" input THAT IS NOT A REQUIRED INPUT? And more importantly, what is its Default Value "Sample" doing?

Let's take a look at the doc:

 

It computes variance = 1/W*sum((X_i-mean)^2) where the X_i are the array elements (total number N) and mean is their average and:

 

W = N when weighting = Population

W = N - 1 when weighting = Sample (the default).

 

I am not a statistician, but I would be surprised if many in the engineering and scientific fields are using the second definition.

If you have a large sample, the difference is minimal.

In the other cases, all bets are off.

In particular try N = 1.

 

There is a very verbose mention of it in the new source of all knoweldge, wikipedia, at the end of the article, but it has been proposed to move it to some more specialized article. In other words, nobody cares, unless they are statisticians. In this case, they'll use anything but LabVIEW to analyze data.

 

So either set the default value to "Population" OR make the input required AND the doc much clearer about the consequences of the weighting choice.

 

Hi Friends,

 

When I try to have the wire lable for every wires that I used in block diagram, every time I need to use >....> . Why can we have a default symbol with the control lable included when we insert an label into wire.

 

Regards,

 

Ganesha Moorthy A

Right now in labVIEW the plots can be exported into excel and can be saved into different  image formats (*.png,*.jpeg,*.eps,etc,.). In addition to the other properties it would really a very cool and excellent option to save the plot data as a LabVIEW figure with an extension "vifig" (*.vifig). The idea here is when the  plot is saved as LabVIEW figure the tester with the help of an interactive tool or some thing like this reload the *.vifig to view, change the graphic object properties , maipulate legend, xaxis label, yaxis label so on... and finally save.

 

Let's assume a situation where the user wants to analyse the data (zoom in, zoom out, find delay etc.,) and change few properties the the data who doesn't know LabVIEW and he needs to use another programs like origin, excel etc. This could be done very easily witht he help of an interactive tool. Unlike LabVIEW, the softwares like MATLAB, Origin has such a pretty useful option. 

 

Thank you.

I'd like the Equal To Zero? and Not Equal To Zero? primitives to support the error cluster wire.  The node would look at the Error Code and compare it to zero, resulting in a Boolean accordingly.

 

Error_Cluster_Zero.png

 

Thanks,

 

Steve K

In my experience, it is common to open files written by other peole, and realize that constants are displayed in hex or bin format only after spending time in debugging.

 

I think it would be nic to see directly on the block diagram the display format.

This could also apply to controls/indicators.

 

 dispFormatHint.png

Interpolate 2D Scattered uses triangulation which is fairly CPU intensive.

 

The most difficult part, (and the part that most of the CPU time is spent on) is defining the triangles.  Once the triangles are specified, the interpolation is fairly quick (and could possibly be done on an FPGA).  This is the same idea as using the scatteredInterpolant class in Matlab (see : http://www.mathworks.com/help/matlab/math/interpolating-scattered-data.html#bsow6g6-1 )

 

The Interpolate 2D Scattered function needs to be broken up into two pieces just like Spline Interpolant, Spline Interpolate are. 

 

 

 

How could a user know if a block he is using is slow or fast?

For example, Variant attribute is organiazed in a red balck tree, thus, a search is O(log(n)) while a regular array search is much slower O(n).

At the moment there are two options:

 

1. Benchmark each code section.

2. Read about tricks on the forums.

 

Instead, if NI added efficiency alanisys to each function with a simple automatic tool then we could easily find what we are searching for.

 

Hi,

I would recommend bipolar logarithmic scales in graphs or a new graph-type. This one: http://www.didactronic.de/Halbleiter+Dioden/diodenkennl2.gif is not log-sclaed, but it woul make sense. 

Sure the log of negative values is not defined (and I think it is calculated to plot the data), but to plot measured data it would be great to calculate it like:

 

measurement / abs(measurement) * log (abs(measurement))

 

I could do this manually, but I prefer to have the real values on the scales, and not the log(measurement)-Value.

 

kind regards

Therefore, my suggestion is to add functionality to a probe to provide the ability to replace the data passing through that point with the value of the developer’s choosing, either for a single iteration, or for multiple itterations.

 

Occasionally I have found instances where is would greatly helpful to be able to inject a value into a 'wire' for either a single iteration or for every iteration, overwriting the value that would be naturally set by the previous operation. This may be a desire to insert an erroneous value to test my code's response to unexpected values without disrupting the code that is in place, or, as I hate to admit, to recover a runaway thread without disrupting the execution of the remainder of the application and any associated, unsaved data.

 

For example, a while loop that has managed to miss its exit condition due to an unforeseen race condition, holding up a weekend’s worth of data collection from being saved to disk. Rather than being forced to click the dreaded Abort button, it would be nice to be able to simply force the next evaluation of the conditional terminal to be True, exiting the while loop and freeing the execution of the remainder of the application

 

Instead of using the sequence local, it maybe better to use the shift register in a sequence loop.

I'd like a comparison block to tell us if a timestamp is a valid one or not.

By not valid i mean showing something like "DD/MM/YYYY" instead of mumbers, as a newly placed timestamp control does.

 

You can't just check "= 0" because actually an invalid timestamp could also be a NaN or any large positive/negative number!

I would like to be able to right click on any Queue or Notifier (that has been previously setup, i.e. wired) and find all of the Queue or Notifier functions associated with it. Extend the idea to specifically find where these functions are setup and terminated.

 

In the pictured example, I have been able to easily troubleshoot a problem where someone has released a Notifier in two separate locations...

 

22266i6DB10B9728172C12

 

 

 

Add CUDA support for analysis, comutation and vision.

Is there any reason why backwards compatibility couldn't be added to the LabVIEW datalog access VIs? 

 

Why does a LabVIEW 8.x (or 7, or 6, or 5, or 4, or 3) datalog file NEED to be converted to LabVIEW 2009 datalog format.

 Shouldn't it be optional?

 

 

I have around 8 terabytes of data in LabVIEW 7 and 8 formats.  Switching to version 2009 will be very painful (as was the switch to other versions), in that it requires me to convert each datalog file.

 

- yes I know about SilentDatalogConvert, yes I could write a simple program to churn through all my data files. That much data would take weeks or months of continuous chugging - seems silly.

 

I'd even settle for backwards compatibility with caveats - read-only for example.

 

The Cluster type of my datalog file hasn't changed in 15 years. Maybe a cluster type check first to determine if the format really requires an update, but even then allow access without conversion

HiSmiley Happy

 

It is clear from the title itself what i want to say.

 

When are we going to see a function in the functions palette through which we can directly view the Excel file as an array in labVIEW!!! Everytime building a code using ActiveX and the property/invoke nodes is not comfortable. 

If the excel file has more than one work sheets, then the user must be able to select the desired worksheet. It should be able to display both 1D and 2D arrays

Also, if the Excel file contains some graph or chart, It should scan for it and display the same. This would be the set by the user weather the function should search for the graph or chart. It should return the  graph/ chart in the form of cluster (in case the sheet has more than 1 graph/chart):smileyhappy:

Attached is the pic of the proposed function with labels

There is a managed way to open a library both in development and in runtime environment via Library.Open method. The same method is available for Class Libraries but without the possibility to open the Class in runtime environment although the Class Library is a specialization of the Library.

LVClassOpen.png

Therefore the getting the hierarchy and/or the members of a Class could be performed by terrifying non-managed way in Runtime environment.

It would be nice to get the same functionality from this method as found by the Libraries.

 

Two more suggestions

 

There has also been a need for rising edge and falling edge triggers for boolean values instead of having to manually code this in every time.  I know this would take extra memory space but could be turned on or off maybe in the control settings dialog.

 

I also have to manually code in time delay functions because everything I do is in loops with parallel code.  The timers can't execute properly this way and would be nice to be able to use the built-in timing functions instead of hand-coding.

In the world of tab controls, a tab caption refers to the actual text in the tabs that you click on to select the different pages, see attachment "Tab Caption". Currently, there is no property node that allows you to change the font characteristics of the tab captions. The font characteristics can be customized non-programmatically by right-clicking on the tab control and selecting Advanced/Customize. However, within the customize control all the tab caption properties are linked, so if I make the font color red for the page 1 tab caption, it will automatically change the page 2 tab caption text as well. The same thing applies to the other font characteristics.

 

This functionality would be useful for those users who want more control over the aesthetics of their front panel. For example, if a user wanted each tab to represent a test that he was running he could change the individual text and color to represent whether or not the test passed, green "passed," or failed, red "failed."

 

From trying to make a malleable VI for some set/map functionality, I cannot seem to find a good way to cause the VIM call to be broken for when the input is not a set/map. It would be helpful to have a Asset Set and Assert Map method added to the Assert Type palette for this. 

Related post 

A recent request in the LabVIEW Forums was to append additional lines of text to the end of a (LabVIEW-generated, I assume) HTML Report.  "Easy," I thought, "just use the Template Input of New Report, move to the end, and Append away!".  So I tried it -- it over-wrote the earlier Report.  Oops!

 

Examination of the Toolkit showed there were no functions analogous to "Find Last Row" or "Read ..." from the Excel-specific sub-Palettes in the HTML or Report sub-palettes.  Indeed, when examining the New Report functions for HTML, it was clear that the Template input was simply ignored!

 

It seems to me (naively) that it should be fairly simple to add code to (a) allow a Template to be specified for HTML, and (b) allow a positioning function to position the "appended" input to the end of the existing HTML <body><\body> block.

 

A potentially more "useful" (but, I would think, also fairly simple) extension would be to allow a "Read Next HTML Element" function, which would return the next Line, Image, whatever, along with a Tag identifying it, allowing the user to copy from the Template file selected Elements and append new Elements where appropriate.  For this to work "nicely", you would need to also return a "No More HTML Elements" flag when you reached the end of the Template.  This would allow the User to copy as much as needed, adding in new data where appropriate, as well as "appending to the end".  As with Excel, there would be no issue with having the Template File be the same or different from the final Save Report file.

 

Bob Schor