File Exchange Pick of the Week

Our best user submissions

Schemaball

Sean's pick this week is Schemaball by Oleg Komarov.

I was reading Cleve's post a few months ago about the Lake Arrowhead Coauthor Graph and saw a comment that mentioned an SO thread on schemaballs. This was an interesting read and it was neat to see how this thread inspired the FEX entry.

Intro to Schemaball

Oleg's schemaball allows you to plot correlation matrices as schemaballs with optional labels and colors. Additionally, it passes back the handles so you can make any other changes after creating it. He provides a good help section and some examples as well as defaults. I also appreciated the "See Also" section where Oleg points to corrplot, a function I'd never heard of before about three minutes ago!

Here, is an example that uses gallery's 'randcorr' option to generate a random correlation matrix:

h = schemaball(gallery('randcorr',18),[],[1 0.25 0; 1 1 0.125],[0.8 0 0.8]);
set(h.l(~isnan(h.l)), 'LineWidth',2)

MATLAB Unit Testing Framework

The reason I picked this file isn't actually because of the schemaball. Oleg included, along with the schemaball, a schemaballUnit unit testing class that uses R2013a's new MATLAB unit testing framework. Having used this framework a fair amount now, this caught my attention. It was the first (and to my knowledge, only) file on the FEX to use the new framework.

Let's see it in action:

TestSB  = schemaballUnit; %Schemaball test object
Results = run(TestSB)     %Run it and retrieve results
Running schemaballUnit
.
Done schemaballUnit
__________

Results = 
  TestResult with properties:

          Name: 'schemaballUnit/verifyErrorsWarnings'
        Passed: 1
        Failed: 0
    Incomplete: 0
      Duration: 0.1482
Totals:
   1 Passed, 0 Failed, 0 Incomplete.
   0.14818 seconds testing time.

Comments

Let us know what you think here or leave a comment for Oleg.




Published with MATLAB® R2013a

|
  • print

Comments

To leave a comment, please click here to sign in to your MathWorks Account or create a new one.