File Exchange

image thumbnail

Demo: Finding an Optimal Path Using MATLAB and Optimization Toolbox

version (23.3 KB) by Mary Fenelon
Solve the path planning problem of going through a vector field of wind in the least possible time.


Updated 01 Sep 2016

View License

This demo shows how to use MathWorks products to solve a path-planning problem.
The objective is to find the optimal path (path of least time) through a randomly generated vector field of wind values.

Scripts are included which show how to set up both a time-independent and time-dependent version of the optimization problem.

Moreover, a GUI (created with GUIDE) is included to show an example of creating an interactive way to do this analysis. The path may be defined by dragging control points with the mouse, and the parameters (path distance and time) are updated on-the-fly.

Requires: Optimization Toolbox.

Global Optimation Toolbox (use MultiStart to run several trials to search for a globally optimal solution)

Parallel Computing Toolbox (run the MultiStart trials in Parallel)

Cite As

Mary Fenelon (2020). Demo: Finding an Optimal Path Using MATLAB and Optimization Toolbox (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (14)

Very Intuitive to tailor to our specific scenarios

Hi I was wondering how to view the figure

Eric Kappel


To solve the issue that c4mm11 describes you need to edit the code and remove instances of the nonzero function operating on graphics arrays. Something along the lines of: 'handles.h_ctrlpts(isprop(handles.h_ctrlpts,'Color'))' in place of 'nonzeros(handles.h_ctrlpts)' and similar such instances worked for me.



Hi. I'm getting the following error when I run PathOptimizationDemo.m. Using R2016a.

Undefined function 'nonzeros' for input arguments of type ''.

Error in PathOptimizationDemo>makeInteractiveLine (line 207)

Error in PathOptimizationDemo>pushbutton_NewField_Callback (line 157)

Error in PathOptimizationDemo>PathOptimizationDemo_OpeningFcn (line 72)
pushbutton_NewField_Callback(hObject, eventdata, handles)

Error in gui_mainfcn (line 220)
feval(gui_State.gui_OpeningFcn, gui_hFigure, [], guidata(gui_hFigure), varargin{:});

Error in PathOptimizationDemo (line 48)
gui_mainfcn(gui_State, varargin{:});


Egor Timme

Tom K


Updated license

MATLAB Release Compatibility
Created with R2012a
Compatible with any release
Platform Compatibility
Windows macOS Linux