Clustering on data matrix

Hi all,
I am developing an application, i need implement clustering technique inmy application i am having distance matrix like below
AME1 AME2 AME3 AMU1
AME1 0.00 1.19 1.48 1.82
AME2 1.19 0.00 0.86 2.13
AME3 1.48 0.86 0.00 2.12
AMU1 1.82 2.13 2.12 0.00
AMU2 1.97 2.25 2.25 0.99
by using this i need to find the closest distance to new value, like below call xyz
AME1 AME2 AME3 AMU1 xyz
xyz 1.22 1.43 2. 00 1.24 0
i am presently having idea to this i.e
finding the minimum value (sinle linkage) in array xyz i.e 1.22(AME1) and its position 0 by using this value i am going find min value in AME1 ie 1.19 (AME2) position 1 and similarly min value in AME2 ie AME3 value .86 position 2 like this
is this is the write way of doing clustering or not . any one having exp in clustering technique please helpme
Thanks and Regards,
Jay

Hello Shaohua,
Thank you for your question regarding k-means Oracle R Enterprise. How many rows and columns does your data set contain?
Regards,
Sherry

Similar Messages

  • Why can't Adobe Reader X update the data matrix?

    Hey guys,
    I create via Livecycle Designer an new PDF, add two text fields and insert a data matrix from formularbarcode.
    As one of its properties I set a collection (the two text fields) on which the data matrix is based.
    The two text fields are variable.
    After saving the PDF and open it with the Adobe Reader and fill in the text fields the data matrix code changes to a grey box.
    If I do this with the Adobe Acrobat Professional,  it'll work. Where is the problem? Please help!
    best regards,
    David

    Moving to Reader forums.

  • Labview How to specify 1d array of clusters as data types for variant to data

    Hi, I'm new to labview. Can anyone tell me how to specify 1d array of clusters as data types for variant to data?

    First of all, you should be sure that there is such a data type within the variant; otherwise, you will run into errors.
    I recommend you to create the cluster and create a type definition from it. Then drop an array shell from the array palette and drop the cluster type into that array.
    Connect that constant to the data type input of the Variant To Data function.
    Norbert
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • Clusters as data structures

    I am looking for the best and simplest way to create and manage data structures in Labview.
    Most often I use clusters as data structures, however the thing I don't like about this approach is that when I pass the cluster to a subroutine, the subroutine needs a local copy of the cluster.
    If I change the cluster later (say I add a new data member), then I need to go through all the subroutines with local copies of the cluster and make the edit of the new member (delete/save/relink to sub-vi, etc).
    On a few occasions in the past, I've tried NI GOOP, but I find the extra overhead associated with this approach cumbersome, I don't want to have to write 'get' and 'set' methods for every integer and string, I like being able to access the cluster/object data via the "unbundle by name" feature.
    Is there a simple or clever way of having a single global reference to a data object (say a cluster) that is shared by a group of subroutines and which can then be used as a template as an input or output parameter? I might guess the answer is no because Labview is interpreted and so the data object has to be passed as a handle, which I guess is how GOOP works, and I have the choice of putting in the extra energy up front (using GOOP) or later (using clusters if I have to edit the data structure). Would it be advisable to just use a data cluster as a global variable?
    I'm curious how other programmers handle this. Is GOOP pretty widely used? Is it the best approach for creating maintainable LV software ?
    Alex

    Alex,
    Encapsulation of data is critical to maintaining a large program. You need global, but restricted, access to your data structures. You need a method that guarantees serial, atomic access so that your exposure to race conditions is minimimized. Since LabVIEW is inherently multi-threaded, it is very easy to shoot yourself in the foot. I can feel your pain when you mention writing all those get and set VIs. However, I can tell you that it is far less painful than trying to debug a race condition. Making a LabVIEW object also forces you to think through your program structure ahead of time - not something we LabVIEW programmers are accustomed to doing, but very necessary for large program success. I have use three methods of data encapsulation.
    NI GOOP - You can get NI GOOP from the tutorial Graphical Object Oriented Programming (GOOP). It uses a code interface node to store the strict typedef data cluster. The wizard eases maintenance. Unfortunately, the code interface node forces you through the UI thread any time you access data, which dramatically slows performance (about an order of magnitude worse than the next couple of methods).
    Functional Globals - These are also called LV2 style globals or shift register globals. The zip file attached includes an NI-Week presentation on the basics of how to use this approach with an amusing example. The commercial Endevo GOOP toolkit now uses this method instead of the code interface node method.
    Single-Element Queues - The data is stored in a single element queue. You create the database by creating the queue and stuffing it with your data. A get function is implemented by popping the data from the queue, doing an unbundle by name, then pushing the data back into the queue. A set is done by popping the data from the queue, doing a bundle by name, then pushing the data back into the queue. You destroy the data by destroying the queue with a force destroy. By always pulling the element from the queue before doing any operation, you force any other caller to wait for the queue to have an element before executing. This serializes access to your database. I have just started using this approach and do not have a good example or lots of experience with it, but can post more info if you need it. Let me know.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • No Aggregation Level Defined for Data Matrix ICHSM1

    Hey Folks,
    I see that there is no Aggregation Level defined for Data Matrix ICHSM1 ( the SMI cBook ).
    I now need to add new key figures to this Data Matrix. However, I am not being able to do so since there are no Aggregation Levels defined in the first place. There is no provision in IMG to define the aggregation levels.
    The view /SCF/VCBAGGLEV defines this. However, this view is not implemented to take in new entries.
    I do see a table /SCF/CCBAGGLEV. I input a value here for the aggregation level - Data Matrix mapping.
    However, this is not being reflected in the SPRO. I need it to reflected in IMG since, the next step to this would be to define a new Key Figure.
    All the other Data Matrices seem to have Agg Levels. Is this a bug in the standard? Any poin

    I see a correlation between the book ICHRPL1 and ICHSM1 internally...so for all practical purposes any configurations on ICRPL1 is being reflected to ICHSM1
    An addition here is that ICHRPL1 is the mastercbook for cbook ICHSM1
    Edited by: Puja Malhotra on Dec 16, 2008 12:00 AM

  • Generate and print data matrix code from a vi

    Folks,
    does anyone know how to code a string into a data matrix code? How can the code be printed most straightforward? Probably it's the best way to generate the code in an image or picture format and send it to the printer that way? The printer we are using is a barcode printer, not an usual laser printer. According to the specifications this printer is able to print data matrix codes. Unfortunately, the vendor of the printer wants the user to use the proprietary software and does not provide a LabVIEW driver.
    Thanks for any hint,
    P.

    Hi
    I think the Dymo Labelwriter is a general purpose printer. So you may send data as you do to any printer. Her is a link to free barcode kit for labview http://code.google.com/p/lvbarcode/downloads/list
    Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
    (Sorry no Labview "brag list" so far)

  • Help with Data Matrix (2D) barcode

    Hey everybody,
    I need a little help with creating a dynamic Data Matrix barcode. The DM Studio help files explain the barcode, regions, data code words, etc, but don't really help with implementation of one. I can create a static one using the actual Barcode widget in DM Studio, but I'm unsure how to create a dynamic one. Minimally I'd need to change the barcode's content from document to document, but if you use the barcode object in your section, it doesn't appear as though it allows variables or variable information (i.e. DAL script results). We have 3 of 9 barcodes, but we create those by simply using the 3of9 font when outputting the barcode's content. With the Data Matrix barcode, that doesn't seem like the appropriate course of action because of additional attributes like Scale or Symbol Size.
    Thanks,
    Gregg

    Hi Gregg,
    I would request you to try like this.
    1. First insert a normal field (not a bar code).
    2. Change 'Type' to Barcode.
    3. Change 'Format' to Data Matrix.
    4. Change 'Length' to 11.
    5. Change Symbol size, Scale appropriately.
    6. Use Rule as usual you would do for a normal field.
    7. Use Data Matrix bar code fonts (13504, 13505, or 13506) which are included with Documaker. If you have any other specific font for Data Matrix bar code, you may try that as well.
    These steps should allow you get a dynamic bar code.
    Thank you.

  • How to remove extra spaces from Data Matrix Label?

    Hi All,
    Kindly let me know how we can remove extra spaces from Data Matrix Label.
    Suppose we have this following code in SO10.
    ^FO1380,1879^COY,78^BY4^BXR,6,200^FH^FD[)>_1E06_1DF01001T_1D6JUN&v_huf&&v_hul&_1DV&v_supnum1&_1D16K&v_del&_1D6D&v_flddat1&095_1D2L&v_unload&_1D
    P&v_article&_1D4L&v_madein&_1D_1E_04^FS.
    Variable have there own value. and the desired result will be shown like the attachment.
    But in my code it splits into new line when CMIR value has 3 spaces.
    If CMIR value is 1S0 820 355 A . then it creats a new line.
    Kindly suggest me any possible solution.
    Thanks,
    Partha

    Hi Gaurav,
    In print preview we can't see any space or new line. But when it scanned by TSB (barcode scanner) it will generate a new line when there is 3 space CMIR value.
    So where should I write SHIFT CMIR LEFT DELETING LEADING space this code?
    Because there is no space coming at the time of debugging or print preview.
    And in SO10 the code written as
    ^FO1380,1879^BY4^BXR,6,200^FH^FD[)>
    Here CMIR value is 1SO 820 303 A
    and generated output is like this.
    And desired output should be like this.

  • ICH data matrix

    Hi All,
    I need to apply OSS note 869501.
    It requires few changes in the ICH data matrix .
    Can anyone share some information abt the ICH data matrix ?
    Thanks In Advance....
    Warm Regards
    Sweta

    Hi Swetha
    Were you able to add custom key figures to your SMI Grid? I would like to know the steps you have used to achieve this.
    @Praveen
    I tried adding custom key figures to the SMI Grid in the SMI Details (Product View).
    The Data Matrix corresponding to it was ICHRPL1. I was able to change the decriptions of a few Key Figures as well as delete a few via the customizing transaction Configure Data Matrix View, available in SPRO.
    The Data Matrix Views I changed were ICHRPLSMIVIEW01 - 06. I assigned each of this view to the Data Matrix above, via Data Matrix Assignment. Once this was done, I added the key figures to be changed corresponding to the views in 'Row Configuration'. These changes are reflected on the screen
    However, when I add new key figures, via 'Maintain Key Figures' provided in the SPRO transaction 'Configure Data Matrix' for the Data Matrix ICHRPL1, aggregation level PRDLOCTOLOCFRPM, I dont see the values being displayed in the grid. I have mapped the new key figures defined to the respective views. (I used the same technique as that for changing the  existing key figures)
    I am not sure what I am missing here.
    On debug I see that the new key figures are being picked up pfrom the customizing tables. However, I see a check being done in table /scmb/param for the newly added keyfigures. I dont see the entry of my new key figures here. I did a where used list for this table, but I dont see where its being populated. There is no view either to populate it.
    I now suspect if I would have to define key figures at the level of infocubes in SNC. However, I am clueless as to how one would do it.
    One thing worth mentioning here is that these key figures do show up in SMI Details view [Not the SMI Details(Product) view...this is where I want it to be] . Just to be sure, I added the key figure in all the views ICHRPLSMIVIEW01 - 06, but still it does not show up in the Product View. I am not sure if there are any other views in the Replenishment->SMI Monitor->SMI Details - Product View.
    In a nutshell, is there a stepwise approach in adding newly defined key words to the Key Figures Grid in the SMI Details (Product View) screen? Please let me know. Any pointers or hints would go a long way in helping me resolve my issues.
    I am working on SNC release 5.1 and it is deployed as a standalone unit in the Landscape.
    The landscape is ECC-XI-SNC-XI-APO
    Thanks and Best Regards,
    Puja.

  • Clustering Spatial Data to minimize disk I/O

    Hi,
    I use Oracle Spatial on an Oracle RDBMS 11gR2 EE.
    I have read that wiht huge spatial tables (few GB for instance), it is possible to "cluster" the rows having an SDO_GEOMETRY data type.
    This can minimized I/O, having spatial geometries grouped in contiguous data blocks.
    I have also found that there is the function MD.HHENCODE encodes a two-dimensional point ino a raw string and this string can be used to sort/re-organize the points in a table.
    I have not find how this function works. Does someone know the principle on which this function works?
    How does this apply to polygons or lines, except by conputing a centroid for these geometries?
    I don't know if I get good approach, but generally speaking, does someone know how to "cluster" spatial data to minimize I/O?
    Thanks by advance for any tip.
    Kind Regards.

    Hi Unnamed Cat Person,
    Sorry I am late responding to your questions.  You should sign your postings with the name of your cat.  I pester posters to provide a name not just to be petulant, but unless we have names to reference it can be difficult to tell if I am responding to you or to Stefan or to Bryan.  It certainly does not have to be your real name, the cat's name would work just fine.
    So you are looking for information not on how to do spatial sorting but rather the "why to do this" and "how does it work" questions surrounding spatial sorting.  This forum is generally not a deep well of such information as it tends to focus on practical implementations.  As a group we often should be more introspective on the reasons why things work they way they do and if there are better ways to do them but then to some degree that is what our employers pay Oracle to do.  You might get better answers for such questions over on stack exchange (Geographic Information Systems Stack Exchange) or you might not.
    MD.HHENCODE is an undocumented, fully wrapped, by default unexecutable function in Oracle Spatial - so you won't find anything on this from Oracle.  Exactly how it works is "beyond our ken".  The 12c version of Pro Oracle Spatial is due out next year and I personally wonder if they should keep this section in the book.  I should also note its quite the pain in the backside to use returning a RAW datatype of all things.  So as the book says, the function "more or less" encodes a point in spatially sorted order.  So its very difficult for any of us to say if this function works well or sensibly or follows some established formula, etc.  Its a proprietary black box.
    So taking a step back and cribbing from Simon's discussion, you also could just sort on the X and Y values.  This is what PostGIS "order by geometry" does and you could set up something similar in Oracle quite easily.  But I don't really see much value in this approach if you are trying to cluster things together.
    Now Simon's article says that sorting on the Morton key is better.  Does he say why Morton keys are better than the above methods?  I guess he does not have a summary section at the top but I feel the results speak for themselves, particularly the illustrations.  Imagine this article without those illustrations and it would be most difficult to visualize.  There are also good illustrations on the wikipedia page
    Z-order curve - Wikipedia, the free encyclopedia
    Note that as none of us can say how HHENCODE functions, none of us can really state definitively that Simon's Morton Curves are better.  Oracle could quietly change the function tomorrow to produce Morton curves (for all I know it does already as I haven't used the thing in years).  But I think Simon's work is fantastic so in my opinion then his way is better!  Take that for what its worth.  Show his nifty illustrations to your boss and that will end any discussion of your rational.
    But wikipedia suggests that an even better way to go is using Hilbert curves.  So hey, does anyone on the list have this implemented in oracle spatial?
    Hilbert curve - Wikipedia, the free encyclopedia
    So there you go, four approaches:
    X Y striping = useless for clustering
    HHENCODE = "more or less" works okay in unknown manner
    Greener Morton Curves = works well, fully explained, coded for you
    Hilbert Curves = might be better, fully explained, you need to code it yourself
    Does anyone on the forum have more entries to add?
    If you are heck-bent on spatially sorting your data, I'd suggest using Simon's code.  You could also do a head-to-head test against HHENCODE and report back to us your findings.  My suspicion though is that as Bryan and Stefan both allude, that spatial sorting won't cure the problem that brought to you to the forum.  I am not saying there could not be a modest little boost, but its dependent on many other factors I mentioned in my first post.  Anyhow, I have appreciated your posting, it lead me to think more about a topic I've not paid much attention to for years.  We could spend more time in this forum on such issues.  But most often things here are just about how to do a task or bug chasing.  Perhaps there is a better place for these things.  Maybe if a question leads beyond the "how" and "bug" topics, we should cross post into stack exchange?  I dunno.
    Cheers,
    Paul

  • Polar plot of a data matrix....help is needed

    Hello,
    I'm working on an Ultrasound project, the data coming from the device is transmitted through a USB driver to the PC. I made a VI, that open a connection with the USB device and recieve the data. The coming data are recognized by the LabVIEW as stream of strings, so, i converted the data into a bytes using "string to byte array" function, then I used the function "reshape array" to reshape the data bytes into a 512x64 matrix which represents the no. of samples per ultrasound line times the no. of ultrasound lines.
    I plotted the data on an intensity graph function and it worked, but the problem is that the data or the matrix must be plotted as a polar plot, not as a cartesian plot.
    The problem is that I want to convert each single pixel (byte) of the (512x64) matrix from having (x,y) coordinate into a pixel that has (r, angle) coordinate.
    can you help me plot these data in a polar plot. If any body has any suggestions please help.
    best regards,
    Underzero.
    Attachments:
    US_VI1.PNG ‏17 KB

    Multiple posts: keep discussion to this thread: http://forums.ni.com/ni/board/message?board.id=170&thread.id=337220

  • Comparing data matrix

    We will display 10 by 10 matrix data to the user. The user will modify this data. Before hit the database,need to compare which are the cells should be treated as 'INSERT', which are 'UPDATE' and DELETE.
    In the data grid (10 by 10 matrix form), the cell value may be blank and all are numeric values.
    Please suggest the best way to handle this situation.
    Thanks in advance.

    You store each element in the matrix as a separate row? That doesn't seem like the best way to do it to me, but I'm no db expert.
    If you want to compare the old matrix to the new one, then just iterate over each element, and compare them. If it was blank, but now it's not, insert the new value, etc. Why do you need to use insert or delete? Couldn't you just use update for each one?

  • Maintaining View Clusters from se16 Data Browser

    Hi,
    Can we maintain View Clusters from Data Browser(se16).
    Best Regards
    Sid

    we cann't maintain view clusters for data browser.
    By using IMPORT and EXPORT statements we can store and access cluster tables

  • Assign a matrix to a JTable?  Possible?

    OK. I will not know the incomming data matrix untill it is assigned. Is there anyway to put the following matrix into a JTable without a headache? All I see are examples of Object class variables assigned to JTables. If anyone knows how to make this work I will appreciate it very much. Here is what I have come up with as an idea:
            String[][] originalDMatrix;
            // Assigned String Matrix.
            if(Program.printDataMatrix.isSelected()) {
                originalDMatrix = new String[Program.matrix.length][];
                for(int i = 0; i < Program.matrix.length; i++) {
                    originalDMatrix[i] = new String[Program.matrix.length];
    for (int j = 0; j < Program.matrix[i].length; j++) {
    originalDMatrix[i][j] = Program.matrix[i][j];
    // Create the table and give it the matrix THIS IS WHERE IT WONT WORK.
    final JTable originalDMatrixT = new JTable(originalDMatrix);
    [/code[
    ERROR OUTPUT:
    cannot resolve symbol
    symbol : constructor JTable (java.lang.String[][])
    location: class javax.swing.JTable
    final JTable originalDMatrixT = new JTable(originalDMatrix);
    ^
    1 error
    Errors compiling Results.

    Changing to strings gave same result but with Object:
    symbol  : constructor JTable (java.lang.Object[][])
    location: class javax.swing.JTable
            final JTable originalDMatrixT = new JTable(originalDMatrix);
                                            ^
    1 error

  • How do I extract Data from a 1D Waveform into individual channels to be used for calculatio​ns on a live data page

    Hello All,
    I am a fairly new user to Labview and am currently creating a program that: monitors sensor inputs from various CompactDAQ modules (9213, 9217), does error checking, then uses the data in some final calculations, such as averaging etc.  I have put together a small piece of code that includes the main functions that I am trying to accomplish.  Right now I am fairly comfortable with getting the channels set up and assigned, then passing this data into a while loop that continually pulls data from these sensors.  
    I have the calculations vi complete and the channel inputs UI complete, now I am working on the reading and data manipulation side of things.  The 1D Waveform that is coming out of read function is being broken up into the components that I am interested in (String Name and Y data).  It then pass this information out of the loop through a queue which passes it along to the parallel loop below which will perform the error checking and the averaging calculations.  There are some things that complicate this. I have shown 2 sensors in my example, but in the actual program, there can be up to 400 inputs.  The issue is that not all these sensors will be used on every test that the software is used for.  To use the inputs in the test VI as an example:  If I am trying to average these 2 inputs to create a common value, but then on one test, sensor 2 is not there, it needs to recognize this and not use this in the averaging function.  
    So to get right down to it, I want to create something that can look through the clusters of data from the 1D Waveform, determine what these values are, then do the necessary functions to those numbers once they are identified, then pass them onto the Calculations VI where it then displays the usable information for the user.  I think I am having an issue with determing how to sort as everything I have thought of makes me think there has to be an easier way.
    Has anyone encountered this?  Does my explaination of what I am trying to do make sense?  Let me know and I can clarify.
    Solved!
    Go to Solution.
    Attachments:
    Channel Testing.vi ‏43 KB

    As far as functionality goes, I don't see anything wrong. when it comes to efficiency you need to keep some general pointers in mind. These issues which I'm bringing up will not affect your code currently since your array sizes are small but can start creating memory fragmentaion and slow down the software if your array sizes are much larger and the software runs for a long period of time.
    1. Try not to use Build Array. Each time you use a built array labview creates a copy in the memory. Try to initilized your arrays and replace the subsets.
    2. as much as you can try not index arrays or unbundle cluster multiple times. try to perform as many tasks as possbile in one shot. (this was evident in your second loop)
    Besides that it's looking good. 
    I made a few modifications to your code and attached it. I wanted to give you a different take on it as it relates to being able to control the inputs and outputs programitically, if you had a look up table. I didn't make the same modifications to your second loop but I can guide you through what needs to be done if you would like to move in this direction. Again your original code is well done for someone who is new to labview so don't feel like you need to follow the new VI design. Just try to remove the build array and multiple indexing as a good programming habbit.
    www.movimed.com - Custom Imaging Solutions
    Attachments:
    Channel Testing.vi ‏41 KB

Maybe you are looking for

  • ITunes can not run because some of its required files are missing please reinstall I

    Every time that I try to use the updated version of iTunes it crashes on me every time.  The program installs completely then just as it closes the screen I get the error message across the screen.  If someone could please help me out with this issue

  • Looking For A Cord

    Hello, I recently got my first iPhone and an Otter Box to protect it. I also have an iPod Touch that I would dock with a JBL On Stage to listen to music. The The male connector on the On Stage isn't long enough for my iPhone w/the Otter Box attached.

  • SEGMENT MORE THAN 1000 BYTES

    ANY ONE  CAN TELLM WT WE HAVE TO DO IF THE SEGMENT HAVING MORE THAN 1000 BYTESOF DATA IN IDOCS Moderator message : Search for available information, do not use all capitals.  Thread locked. Edited by: Vinod Kumar on Aug 23, 2011 2:33 PM

  • How to load the google map into an empty movieclip

    how to load the google map into an empty movieclip ?  Thank you

  • This certificate is not valid (host name mismatch)

    How do I fix this error message? Safari can't verify the identity of the website ....keeps saying the certificate in invalid.