timeintegrate.m

来自「3D shape reconstruction matlab code. It 」· M 代码 · 共 39 行

M
39
字号
function  [dvdu] = timeintegrate(J,JJ);
% Integrates \nabla v \cdot \nabla u in time
%
% Copyright 2006 Paolo Favaro (p.favaro@hw.ac.uk)
% 
% School of Engineering and Physical Sciences
% Heriot-Watt University, Edinburgh, UK
% 
% Last revision: August 2006
%
% This program can be used only for research purposes.
% This program is distributed WITHOUT ANY WARRANTY; 
% without even the implied warranty of MERCHANTABILITY 
% or FITNESS FOR A PARTICULAR PURPOSE.

[m,n,three] = size(J);
dvdu = zeros(m,n);
% time integration (from 0 to T) of grad v grad u
dt = 1/size(J,3);
for t=1:size(J,3)
  jx = zeros(m,n);
  jy = zeros(m,n);
  Jx = zeros(m,n);
  Jy = zeros(m,n);
  if mod(t,2)==0
    Jx(:,2:n) = diff(JJ(:,:,end+1-t),1,2);
    Jy(2:m,:) = diff(JJ(:,:,end+1-t),1,1);
    jx(:,2:n) = diff(J(:,:,t),1,2);
    jy(2:m,:) = diff(J(:,:,t),1,1);
  else
    Jx(:,1:n-1) = diff(JJ(:,:,end+1-t),1,2);
    Jy(1:m-1,:) = diff(JJ(:,:,end+1-t),1,1);
    jx(:,1:n-1) = diff(J(:,:,t),1,2);
    jy(1:m-1,:) = diff(J(:,:,t),1,1);
  end
  dvdu = dvdu+jx.*Jx+jy.*Jy;
end
dvdu = dt*dvdu;
return

⌨️ 快捷键说明

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