View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from

2.5 | 2 ratings Rate this file 3 Downloads (last 30 days) File Size: 2.37 KB File ID: #3413 Version: 1.0



Toby Driscoll (view profile)


08 May 2003 (Updated )

A simple, flexible, and overridable graphical replacement for INPUT.

| Watch this File

File Information

INPUTGUI allows a user to set function parameters through an input dialog window. It's meant to be a replacement for INPUT. Among its virtues is that the dialog popup can be overriden either by accepting defaults or by assigning (some of the) values through the function call. It's also meant to be very easy to use.

The standard calling sequence is

  value = INPUTGUI(name,default,prompt)

Arguments name, default, and prompt are identically sized cell arrays of strings. They define the names, default values, and interactive prompt strings for the parameters, which are assumed to be numerical.

On exit, each parameter value will be assigned *in the caller's workspace*.

INPUTGUI(name,default,prompt,isstring) adds a logical vector that designates corresponding parameters as strings.

INPUTGUI(...,action) modifies the behavior:
  'default': Default values are returned for all parameters (no dialog is opened).
  struct: Each parameter will have the default value unless overridden by a field of the same name (no dialog).
  []: Standard behavior.

For example, suppose you wrote the function

 function y = inputtest(varargin)
 name = { 'Moe', 'Larry', 'Curly' };
 default = { '1/pi', '[-1 0 1]', 'silly' };
 prompt = { 'Value of Moe', 'Value of Larry', 'Value of Curly' };
 isstring = logical( [0 0 1] );
 vals = inputgui(name,default,prompt,isstring,varargin{:})
 whos Moe Larry Curly

Then we get
>> inputtest % Brings up a dialog. Press OK and...
vals =

    [ 0.3183]
    [1x3 double]

  Name Size Bytes Class
  Curly 1x5 10 char array
  Larry 1x3 24 double array
  Moe 1x1 8 double array

>> s.Larry = 16; inputtest(s) % No dialog appears...
vals =

    [ 16]

  Name Size Bytes Class
  Curly 1x5 10 char array
  Larry 1x1 8 double array
  Moe 1x1 8 double array

The return argument "value" will be a cell array of the assigned values, as strings. You can assign this to a persistent variable and use it on the next call as the default.

MATLAB release MATLAB 6.5 (R13)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (2)
14 Apr 2005 Bruno Ghini

If you want a simple method to input more than one variable in the same dialog, this is exactly what you need. Otherwise you have to learn GUIDE.

05 Feb 2004 David Trembley

Not Good

Contact us