File Exchange Pick of the Week

August 20th, 2008

Advanced MATLAB: Dynamic field names

We have MATLAB users come into The MathWorks to present their work in MATLAB from time to time. Recently there was an interesting presentation with some really great “Clutter classification” algorithms in a GUI. One of the questions that came out of that discussion was how to get rid of a bunch of EVAL statements from their code. The following code shows how they can be avoided using “dot parens notation”, or Dynamic Field Names as they are formally known.

a.doug = ‘Hull’
a.jiro = ‘Doke’

name = ‘doug’;

last = a.doug
eval([’last = a.’ name]) %BAD
last = a.(name) %GOOD

Video Content

iconFiles.jpgiconPod.jpg

Leave a Reply

Wrap code fragments inside <pre> tags, like this:

<pre class="code">
a = magic(3);
sum(a)
</pre>

If you have a "<" character in your code, either follow it with a space or replace it with "&lt;" (including the semicolon).


Bob, Brett & Jiro share their favorite user-contributed submissions from the File Exchange.

  • oleg: The author has implemented skewness, kurtosis and checks answering appropriately to the critic.
  • Ashok: how to store 10 or more random number in a loop a loop for i = 1:n mean(i) = input(’enter the mean value...
  • Ben: Doug, Thanks for the very helpful videos! Uitables seem like a convenient way to make a customized property...
  • oleg: Allstats has no checks, no comments and could also be improved (talking about prctile implementatio). Not to...
  • Todd: Additional information and a link to download free MATLAB and Simulink LEGO MINDSTORMS NXT code can be found at...
  • Doug: @Leo, Here is the “English version” of that code. “vec = []” makes an empty variable...
  • leo: Dear Doug I have a question in your code ‘October 9th, 2009 at 13:53′ vec = []; vec = [vec val]; I...
  • Shanker Keshavdas: You sir, are a gentleman and a scholar… No really, helped me out a lot. As to what is...
  • Quan Zheng: how can I get a copy of stepspecs.m?
  • Doug: @Lucy I think this is what you seek to move a line with the mouse in MATLAB. http://blogs.math...

These postings are the author's and don't necessarily represent the opinions of The MathWorks.