File Exchange Pick of the Week

Our best user submissions

LazyWeb: Open challenges

Lazy web is a concept where you put requests out and see if anyone else has made the code you are looking for, or might be looking for that little push to start working together on that code.

Send me a concise description of a function you would like to see written for MATLAB. Better yet, donate the code that is requested by people. See the open and closed challenges pages for examples.


Dear LazyWeb,

I miss SQL joins, and would like to have a generalization of Statistics Toolbox's @dataset/join that would handle outer joins and many-to-many correspondences. (Currently, one is limited to inner joins, and may not have key repeats in table B).

Thank you.



Dear LazyWeb

It should be possible to create a colormap that looks good both in color and in shades of gray. James McNames has made a good attempt complete with Matlab code and a paper describing the theory.

The problem is that printers calculate gray with
gray = 0.2989*red + 0.5870*green + 0.1140*blue

instead of what he assumed for his paper
gray = red/3 + green/3 + blue/3.

The challenge: create a colormap that utilizes the full RGB colorspace while maintaining a monotonically increasing profile when converted to gray.

Andy Bliss

P.S. Thanks for the Pick of the Week a long time ago!


Dear LazyWeb,

I would like about twenty nice icons in a collection that would be appropriate for shortcuts in the MATLAB desktop. These icons should be useful in a variety of situations, maybe
* Generic plot
* Big red X
* Black Box
* Skull and cross bones
* Arrows

These would have a variety of colors and graphics. It would make it easier to keep all of the shortcuts straight and allow for fewer words in the shortcut description.


PS: This set of icons was recommended:

The "Silk" icon set from famfamfam covers most of these
These are great, but I think I am still looking for a smaller more focused set.


Dear LazyWeb,

What I would love is a one function that could be called in one line, which does nothing if the program is being run in MATLAB, but only when it is running in deployed mode.

The reason for this is I have a bunch of routines where I often want to run them multiple times, without having to launch the .exe each time. So I would like the wrapper function to pop up a small dialog that asks the user: “Do you want to run the function {name of function routine was called from} or exit?” and have two buttons. If the user clicks the run button, it should be just as if the original function was run by launching the (unaltered) .exe. The dialog then goes dormant until the program is finished running, at which point it regains focus and asks: “Run again?” When the exit button is clicked, all the windows get closed, and the executable shuts down.

This would be very useful to my co-workers who may have to run batches of data, that can’t be pre-determined. As a bonus, it would be very nice if this dialog has a string field and captures the output from a disp() command, instead of letting it go to the dos window.

In my own defense, I have tried to achieve this and it only works, very so-so.

Thanks if anybody wants to take this one up.


Dear LazyWeb,

I would like to see a function in MATLAB that will let you give a list of securities from the stock exchange, along with purchase dates, dividend reinvestments, and sales. I would want to label each of these positions with non-mutually exclusive labels. MATLAB should be able to go out and get the current stock value, and historical close data from original purchase until current value. You would then be able to graph the performance of various stocks in your portfolio grouped by label. This would allow you to track a group of positions as if they were a mutual fund of one name.

You should also be able to get statistics of the group such a annualized % return, comparison versus an index, etc.

To speed the process of collecting data, you should be able to store historical data locally once it has been retrieved the first time.

The data feed toolbox has the files need to gather this data, I think MATLAB Central might also.