comparison scripts/general/curl.m @ 12173:dd2af7b8dafe

curl: simplify processing of output values
author John W. Eaton <jwe@octave.org>
date Wed, 26 Jan 2011 23:15:59 -0500
parents b0084095098e
children 515446c8fe23
comparison
equal deleted inserted replaced
12172:2ba904181687 12173:dd2af7b8dafe
86 86
87 dFx_dy = gradient (varargin{fidx}.', dy, dx).'; 87 dFx_dy = gradient (varargin{fidx}.', dy, dx).';
88 dFy_dx = gradient (varargin{fidx + 1}, dx, dy); 88 dFy_dx = gradient (varargin{fidx + 1}, dx, dy);
89 rot_z = dFy_dx - dFx_dy; 89 rot_z = dFy_dx - dFx_dy;
90 av = rot_z / 2; 90 av = rot_z / 2;
91 if (nargout == 0) 91 if (nargout == 0 || nargout == 1)
92 av
93 elseif (nargout == 1)
94 varargout{1} = av; 92 varargout{1} = av;
95 elseif (nargout == 2) 93 elseif (nargout == 2)
96 varargout{1} = rot_z; 94 varargout{1} = rot_z;
97 varargout{2} = av; 95 varargout{2} = av;
98 else 96 else
119 l = sqrt(varargin{fidx}.^2 + varargin{fidx + 1}.^2 + varargin{fidx + 2}.^2); 117 l = sqrt(varargin{fidx}.^2 + varargin{fidx + 1}.^2 + varargin{fidx + 2}.^2);
120 av = (rot_x .* varargin{fidx} + 118 av = (rot_x .* varargin{fidx} +
121 rot_y .* varargin{fidx + 1} + 119 rot_y .* varargin{fidx + 1} +
122 rot_z .* varargin{fidx + 2}) ./ (2 * l); 120 rot_z .* varargin{fidx + 2}) ./ (2 * l);
123 121
124 if (nargout == 0) 122 if (nargout == 0 || nargout == 1)
125 varargout{1} = av; 123 varargout{1} = av;
126 elseif (nargout == 1) 124 else
127 varargout{1} = av;
128 elseif (nargout == 2)
129 varargout{1} = rot_x;
130 varargout{2} = rot_y;
131 elseif (nargout == 3)
132 varargout{1} = rot_x;
133 varargout{2} = rot_y;
134 varargout{3} = rot_z;
135 elseif (nargout == 4)
136 varargout{1} = rot_x; 125 varargout{1} = rot_x;
137 varargout{2} = rot_y; 126 varargout{2} = rot_y;
138 varargout{3} = rot_z; 127 varargout{3} = rot_z;
139 varargout{4} = av; 128 varargout{4} = av;
140 else 129 else