To use the Chebfun GUI, you will first need to download Version 4 Chebfun. Once you've added Chebfun to your user path, type the command chebgui in the Matlab Command Window, and a figure that looks like this will load up:
By default, one of the problems from the example collection will be displayed. Each example is provided in a ready-to-sove form with an operator and boundary and/or initial conditions, depending on the type of problem. An example is chosen from the collection at random upon startup. To see the GUI in action just click the green "Solve" button, and the computation will begin. After a short while, you should see something similar to the following:
Because this particular boundary value problem (Nonlinear pendulum) is nonlinear, Chebfun uses a Newton-based functional iteration to converge to a solution. For further details, you may wish to refer to Chapter 10 of the Chebfun guide. The lower figure in the GUI shows the the norm of the Newton updates for each iteration, whilst the upper figure plots the numerical solution after the final iteration. For linear problems, you should not expect to see anything in the lower figure. Different demos can be selected by clicking on the "Demos" menu:
Chebgui is also capable of solving time-dependent PDEs, for example, if we select and solve the Burgers equation example, we obtain:
Here, we see that for PDEs, the bottom figure is replaced by a plot of the solution evolving over time.
The GUI is also adept at solving eigenvalue problems. Again, ready-made
examples can be selected from the "Demos" menu. Here is the result of
Harmonic Oscillator example:
Chebfun computes and plots the eigenvalues, and corresponding eigenfunctions. The eigenvalues are also displayed in the box in the bottom-right of the GUI. If you wish to plot only some of the computed eigenpairs, hold down the "Ctrl" key and select the eigenvalues you wish to plot. To plot all of them, use "Ctrl + a".
An extremely useful feature of Chebgui is the ability to translate you problem into Matlab code. To do this, simply click the "Export to m-file" button. You will be given an option to name the file, and after you've saved, the code that replicates the problem you have created in the GUI is opened in the editor. An example of an exported M-file can be found here.
Other features incluse the ability to save and load GUI objects. A GUI object is simply file that records the details of the problem you have been solving. To open up a previously saved GUI object, just use the option in the "File" menu. Other useful features available to users include exporting solutions to the workspace , or to .mat files. User can even import Chebfun objects from the workspace that can then be used in Chebgu computations. All these features are also available through the "File" menu: