index.m

来自「matlab 多参数积分工具箱 multivariable calculus」· M 代码 · 共 25 行

M
25
字号
function [ix,iy,iz]=index(x,y,z,xv,yv,zv)
%INDEX  Gives index for function matrix.
%   [IX,IY,IZ] = INDEX(X,Y,Z,XV,YV,ZV) where XV, YV and ZV are given values.
%   X, Y and Z are matrices generated by the MESHGRID command.
%   F(IY,IX,IZ) is the same as "F(XV,YV,ZV)".
%
%   [IX,IY,IZ] = INDEX(X,Y,Z,XYZV) is the same as above but uses a cell array
%   XYZV which contains the values XV, YV and ZV.

% Copyright (c) 2001-04-20, B. Rasmus Anthin

if nargin==4
   yv=xv{2};
   zv=xv{3};
   xv=xv{1};
end
dx=diff(x(1,:,1));dx=dx(1)/2;
dy=diff(y(:,1,1));dy=dy(1)/2;
dz=diff(z(1,1,:));dz=dz(1)/2;
ix=find(xv-dx<x(1,:,1) & x(1,:,1)<xv+dx);
iy=find(yv-dy<y(:,1,1) & y(:,1,1)<yv+dy);
iz=find(zv-dz<z(1,1,:) & z(1,1,:)<zv+dz);
if ~isempty(ix),ix=ix(1);end
if ~isempty(iy),iy=iy(1);end
if ~isempty(iz),iz=iz(1);end

⌨️ 快捷键说明

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