⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 getspacings.m

📁 一些制作正交曲线网格的matlab源程序
💻 M
字号:
function theResult = getspacings(self)% seagrid/getspacings -- Get default spacings.%  getspacings(self) invokes a dialog to get functions%   of 's' that describe the default positions of grid%   lines along edges #1 and #2, on behalf of self, a%   "seagrid" object.  The functions are "evaled", using%   vector s = linspace(0, 1, N), where N is the number%   of points along the respective edge.  Thus, 's' alone%   will provide a uniform spacing; 's.^2' will produce%   quadratic spacing, i.e., a linearly-decreasing%   density of grid lines; etc.  Note that the function%   should use scalar operators.  The result will be%   sorted and normalized to fit the range [0:1].%%   Since the result is sorted, the spacing functions%   need not be monotonically increasing over its range.%%   If the entry is a vector surrounded by [...], it will%   be treated as a set of "way-points", to be interpolated%   sensibly to fit the actual number of existing grid lines.%   (NOT YET IMPLEMENTED) % Copyright (C) 1999 Dr. Charles R. Denham, ZYDECO.%  All Rights Reserved.%   Disclosure without explicit written consent from the%    copyright owner does not constitute publication. % Version of 03-Aug-1999 10:37:40.% Updated    07-Mar-2000 22:42:48.if nargout > 0, theResult = self; endif nargin < 1, help(mfilename), return, endtheGridSize = psget(self, 'itsGridSize');p = psget(self, 'itsSpacings');q = psget(self, 'itsDefaultSpacings');e = psget(self, 'itsSpacedEdges');if isempty(p)	p = cell(1, length(theGridSize));	for k = 1:length(theGridSize)		p{k} = linspace(0, 1, theGridSize(k)+1);	end	psset(self, 'itsSpacings', p)endif isempty(q)	q = {'s', 's', 0};	psset(self, 'itsDefaultSpacings', q)endif isempty(e), e = [1 2]; endselector = (e == [1 2]);selector(~selector) = 2;d.Spacings_Edge_A = q{1};   % uigetinfo dialog structure.d.Select_Edge_A = {{1, 3}, selector(1)};d.Spacings_Edge_B = q{2};d.Select_Edge_B = {{2, 4}, selector(2)};% d.Density_Flag = {'checkbox', q{3}};SeaGrid_Spacing_Setup = d;if (0)%	reply = uigetinfo(SeaGrid_Spacing_Setup);else	reply = guido(SeaGrid_Spacing_Setup);end% If the Density_Flag is checked, then we will have%  to integrate and normalize the given expressions.%  The flexibility is needed because some direct%  distributions might not be easilty expressable.%  *** Not yet done. ***if ~isempty(reply)	q{1} = getinfo(reply, 'Spacings_Edge_A');	q{2} = getinfo(reply, 'Spacings_Edge_B');	q{3} = getinfo(reply, 'Density_Flag');	if isempty(q{3}), q{3} = 0; end	psset(self, 'itsDefaultSpacings', q);	e(1) = getinfo(reply, 'Select_Edge_A');	e(2) = getinfo(reply, 'Select_Edge_B');	psset(self, 'itsSpacedEdges', e)	for k = 1:2		s = linspace(0, 1, length(p{k}));		if ~isempty(q{k})			bad = 0;			eval(['s = ' q{k} ';'], 'bad = 1;');			if bad				disp([' ## Unable to evaluate: ' q{k}])			end			s = sort(s);			s = s - min(s); s = s / max(s);		end		p{k} = s;	end	psset(self, 'itsSpacings', p)	doupdate(self, 1)endif nargout > 0, theResult = self; end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -