📄 timeintegrate.m
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -