annotate +grid/equidistant.m @ 1301:8978521b0f06 default

Fix incorrect package name.
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Wed, 08 Jul 2020 19:11:04 +0200
parents c3378418d49a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
154
c7b2f645101f Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 % Creates a cartesian grid of dimension length(m).
c7b2f645101f Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 % over the doman xlim, ylim, ...
c7b2f645101f Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3 % Examples:
c7b2f645101f Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
4 % g = grid.equidistant([mx, my], xlim, ylim)
c7b2f645101f Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5 % g = grid.equidistant([10, 15], {0,1}, {0,2})
c7b2f645101f Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6 function g = equidistant(m, varargin)
c7b2f645101f Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7 if length(m) ~= length(varargin)
c7b2f645101f Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8 error('grid:equidistant:NonMatchingParameters','The number of provided dimensions do not match.')
c7b2f645101f Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9 end
c7b2f645101f Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10
c7b2f645101f Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11 for i = 1:length(m)
c7b2f645101f Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12 if ~iscell(varargin{i}) || numel(varargin{i}) ~= 2
c7b2f645101f Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13 error('grid:equidistant:InvalidLimits','The limits should be cell arrays with 2 elements.');
c7b2f645101f Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14 end
c7b2f645101f Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15
c7b2f645101f Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16 if varargin{i}{1} > varargin{i}{2}
c7b2f645101f Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17 error('grid:equidistant:InvalidLimits','The elements of the limit must be increasing.');
c7b2f645101f Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
18 end
c7b2f645101f Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
19 end
c7b2f645101f Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
20
c7b2f645101f Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
21 X = {};
177
c3378418d49a Updated equidistant and equidistantCurve to set the scaling of grids.
Jonatan Werpers <jonatan@werpers.com>
parents: 154
diff changeset
22 h = [];
154
c7b2f645101f Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
23 for i = 1:length(m)
177
c3378418d49a Updated equidistant and equidistantCurve to set the scaling of grids.
Jonatan Werpers <jonatan@werpers.com>
parents: 154
diff changeset
24 [X{i}, h(i)] = util.get_grid(varargin{i}{:},m(i));
154
c7b2f645101f Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
25 end
c7b2f645101f Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
26
c7b2f645101f Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
27 g = grid.Cartesian(X{:});
177
c3378418d49a Updated equidistant and equidistantCurve to set the scaling of grids.
Jonatan Werpers <jonatan@werpers.com>
parents: 154
diff changeset
28 g.h = h;
154
c7b2f645101f Added classes and functions for Cartesian and equidistant grids.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
29 end