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

📄 image2sf.m

📁 MDPSAS工具箱是马里兰大学开发的
💻 M
字号:
function B = image2sf(varargin)% image2sf.m Interpolate a scalarfield object to a different physical domain%          with the same number of dimensions%%	INPUT parameters:%               A : scalarfield object %           pdNew : quadgrid object defining new physical domain%%	OUTPUT:%	        B : a scalarfield object%%   EXAMPLE:%% X = quadgrid('slab',35,'x')% A = bpsf(5)*rand(5,1);% x = [0:4]'/4;% I = image2sf(X,A,x);% subplot(2,2,1), plot(x,A,'-o'); grid% subplot(2,2,2), plot(I,'-o'); grid%% X = quadgrid('slab',35,'x')*quadgrid('slab',45,'y')% A = (bpsf(8)*(bpsf(5)*rand(5,8))')';% x = [0:4]'/4; y = [0:7]'/7;% I = image2sf(X,A,x,y);% subplot(2,2,3), pcolor(y,x,A);% subplot(2,2,4), plot(I), view(2)warning('obsolete - soon to be phased out')ndir = length(varargin) - 2;A = varargin{1};if ndir ~= length(A.name) error('Physical domain dimension mismatch'); end% Check if axis limits matchfor i = 1:ndir   ximage = varargin{2+i};   xqgrid = A.qp{i};   if (ximage(1) ~= xqgrid(1)) | (ximage(end) ~= xqgrid(end))      error('Physical domain axis limit mismatch');      end   end% Interpolate to the quadrature grid of quadgrid object Aswitch ndircase 1   ximage   = varargin{3};   valimage = varargin{2};   xqgrid   = A.qp{1};   val = interp1(ximage,valimage,xqgrid);case 2   ximage   = varargin{3};   yimage   = varargin{4};   valimage = varargin{2};   xqgrid   = A.qp{1};   yqgrid   = A.qp{2};   for i = 1:length(yimage);      valxdone(:,i) = interp1(ximage,valimage(:,i),xqgrid,'linear');      enddisp('Interpolation in 1st dimension done')   for i = 1:size(valxdone,1);      val(i,:) = interp1(yimage,valxdone(i,:)',yqgrid,'linear')';      enddisp('Interpolation in 2nd dimension done')case 3   error('Not set up for 3D or higher arrays')case 4   error('Not set up for 3D or higher arrays')   endB = scalarfield(A,val);

⌨️ 快捷键说明

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