📄 jacobian_3d.m
字号:
function [J] = jacobian_3d(I,elec,vtx,simp,gnd_ind,mat_ref,zc,IntGrad,v_f,df,tol,sym);
%function [J] = jacobian_3d(I,elec,vtx,simp,gnd_ind,mat_ref,zc,IntGrad,v_f,df,tol,sym);
%
%This function calculates the Jacobian (sensitivity) matrix of the system
%
%
%
%I = The currents used
%elec = the electrodes matrix
%vtx = The vertices matrix
%simp = The simplices matrix
%gnd_ind = The ground index (node)
%mat_ref = The reference conductivity vector
%zc = The electrode contact impedance vector
%IntGrad = The integrals of the gradients
%v_f = The measurement fields
%df = Measurements per current pattern as used in v_f
%tol = Tolerance
%J = The Jacobian (sensitivity) matrix with respect to conductivity
[vr,vc] = size(vtx);
[sr,sc] = size(simp);
el_no = size(elec,1);
if sum(df)~= size(v_f,2);
error('Mismatched data input');
end
[E,pp] = fem_master_full(vtx,simp,mat_ref,gnd_ind,elec,zc,sym);
[V] = forward_solver(vtx,E,I,tol,pp);
%Select the part referring to the interior nodes
V = V(1:vr,:);
v_f = v_f(1:vr,:);
for k=1:size(simp,1)
Jcol =[];
for p=1:size(V,2)
for m=1:df(p)
JJ = v_f(:,sum(df(1:p-1))+m).'* reshape(IntGrad(:,k),vr,vr)*V(:,p); %
Jcol = [Jcol;JJ];
end
end
J(:,k) = Jcol;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% This is part of the EIDORS suite.
% Copyright (c) N. Polydorides and W.R.B. Lionheart 2001
% Copying permitted under terms of GNU GPL
% See enclosed file gpl.html for details.
% EIDORS 3D version 1.0
% MATLAB version 5.3 R11
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -