三维荧光的分析问题,如何用origin进行体积积分??
目前,三维图已经都绘制完毕。
现在进行三维荧光分析部分(区域积分法FRI法)。现求教各位知乎大神,方法中提到用origin进行体积积分。
方法具体见截图
origin能进行体积积分吗??如何做??想对下图的5个区域进行积分,但是不知道怎样积分。希望各位帮帮我。
我用MATLAB实现过辛普森区域积分公式。
function [Result] = simp(OriginMatrix,DeltaEx,DeltaEm)
[n,m]= size(OriginMatrix); %n行m列,em有n个,ex有m个。
%I = h/3* ((y(1)+4*sum(y(2:2:n-1))+2*sum(y(3:2:n-2))+y(n)));
if ~~(n/2-floor(n/2)) == 1
n = n-1;
end
if ~~(m/2-floor(m/2)) == 1
m = m-1;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%功能:求取矩阵OriginMatrix中五个区域的下标
%=Updata:17/11/10.
%=修改区域IV、V的1,4下标
%for routing1=1:m;
% 0 1
% 2 % %
% 3 % %
%
% RegionISubscript0 = find(OriginMatrix(1,:) == 220);
% RegionISubscript1 = find(OriginMatrix(1,:) == 248);
% RegionISubscript2 = find(OriginMatrix(:,1) == 280);
% RegionISubscript3 = find(OriginMatrix(:,1) == 328);
%
% RegionIISubscript0 = find(OriginMatrix(1,:) == 220);
% RegionIISubscript1 = find(OriginMatrix(1,:) == 248);
% RegionIISubscript2 = find(OriginMatrix(:,1) == 330);
% RegionIISubscript3 = find(OriginMatrix(:,1) == 378);
%
% RegionIIISubscript0 = find(OriginMatrix(1,:) == 220);
% RegionIIISubscript1 = find(OriginMatrix(1,:) == 248);
% RegionIIISubscript2 = find(OriginMatrix(:,1) == 380);
% RegionIIISubscript3 = find(OriginMatrix(:,1) == 548);
%
%
% RegionIVSubscript0 = find(OriginMatrix(1,:) == 250);
% RegionIVSubscript1 = find(OriginMatrix(1,:) == 450);
% RegionIVSubscript2 = find(OriginMatrix(:,1) == 280);
% RegionIVSubscript3 = find(OriginMatrix(:,1) == 380);
%
% RegionVSubscript0 = find(OriginMatrix(1,:) == 250);
% RegionVSubscript1 = find(OriginMatrix(1,:) == 450);
% RegionVSubscript2 = find(OriginMatrix(:,1) == 380);
% RegionVSubscript3 = find(OriginMatrix(:,1) == 548);
RegionISubscript0 = 5;
RegionISubscript1 = 11;
RegionISubscript2 = 7;
RegionISubscript3 = 17;
RegionIISubscript0 = 5;
RegionIISubscript1 = 11;
RegionIISubscript2 = 17;
RegionIISubscript3 = 27;
RegionIIISubscript0 = 5;
RegionIIISubscript1 = 11;
RegionIIISubscript2 = 27;
RegionIIISubscript3 = 61;
RegionIVSubscript0 = 11;
RegionIVSubscript1 = 51;
RegionIVSubscript2 = 7;
RegionIVSubscript3 = 27;
RegionVSubscript0 = 11;
RegionVSubscript1 = 51;
RegionVSubscript2 = 27;
RegionVSubscript3 = 61;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%区域I辛普森积分%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
RegionIIntegrationPart1 = 0;
RegionIIntegrationPart2 = 0;
RegionIIntegrationPart3 = 0;
RegionIIntegrationPart4 = 0;
RegionIIntegrationPart5 = 0;
RegionIIntegrationPart6 = 0;
RegionIIntegrationPart7 = 0;
RegionIIntegrationPart8 = 0;
RegionIIntegrationPart9 = 0;
RegionIIntegrationPart1 = OriginMatrix(RegionISubscript2,RegionISubscript0)+...
OriginMatrix(RegionISubscript2,RegionISubscript1)+...
OriginMatrix(RegionISubscript3,RegionISubscript0)+...
OriginMatrix(RegionISubscript3,RegionISubscript1);
for i = RegionISubscript0+2 : 2 : RegionISubscript1-2;
RegionIIntegrationPart2 = RegionIIntegrationPart2 + 2*(OriginMatrix(RegionISubscript2,i)+...
OriginMatrix(RegionISubscript3,i));
end
for i = RegionISubscript2+2 : 2 : RegionISubscript3-2;
RegionIIntegrationPart3 = RegionIIntegrationPart3 + 2*(OriginMatrix(i,RegionISubscript0)+...
OriginMatrix(i,RegionISubscript1));
end
for i = RegionISubscript0+1 : 2 : RegionISubscript1-1;
RegionIIntegrationPart4 = RegionIIntegrationPart4 + 4*(OriginMatrix(RegionISubscript2,i)+...
OriginMatrix(RegionISubscript3,i));
end
for i = RegionISubscript2+1 : 2 : RegionISubscript3-1;
RegionIIntegrationPart5 = RegionIIntegrationPart5 + 4*(OriginMatrix(i,RegionISubscript0)+...
OriginMatrix(i,RegionISubscript1));
end
for i = RegionISubscript0+2 : 2 : RegionISubscript1-2;
for j = RegionISubscript2+2 : 2 : RegionISubscript3-2;
RegionIIntegrationPart6 = RegionIIntegrationPart6 + 4*OriginMatrix(i,j);
end
end
for i = RegionISubscript0+2 : 2 : RegionISubscript1-2;
for j = RegionISubscript2+1 : 2 : RegionISubscript3-1;
RegionIIntegrationPart7 = RegionIIntegrationPart7 + 8*OriginMatrix(i,j);
end
end
for i = RegionISubscript0+1 : 2 : RegionISubscript1-1;
for j = RegionISubscript2+2 : 2 : RegionISubscript3-2;
RegionIIntegrationPart8 = RegionIIntegrationPart8 + 4*OriginMatrix(i,j);
end
end
for i = RegionISubscript0+1 : 2 : RegionISubscript1-1;
for j = RegionISubscript2+1 : 2 : RegionISubscript3-1;
RegionIIntegrationPart9 = RegionIIntegrationPart9 + 16*OriginMatrix(i,j);
end
end
RegionIIntegration=DeltaEx*DeltaEm/9*(RegionIIntegrationPart1 + RegionIIntegrationPart2 + RegionIIntegrationPart3+...
RegionIIntegrationPart4 + RegionIIntegrationPart5 + RegionIIntegrationPart6+...
RegionIIntegrationPart7 + RegionIIntegrationPart8 + RegionIIntegrationPart9);
NormalizedRegionIIntegration=RegionIIntegration/((RegionISubscript1-RegionISubscript0)*(RegionISubscript3-RegionISubscript2));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%区域II辛普森积分%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
RegionIIIntegrationPart1 = 0;
RegionIIIntegrationPart2 = 0;
RegionIIIntegrationPart3 = 0;
RegionIIIntegrationPart4 = 0;
RegionIIIntegrationPart5 = 0;
RegionIIIntegrationPart6 = 0;
RegionIIIntegrationPart7 = 0;
RegionIIIntegrationPart8 = 0;
RegionIIIntegrationPart9 = 0;
RegionIIIntegrationPart1 = OriginMatrix(RegionIISubscript2,RegionIISubscript0)+...
OriginMatrix(RegionIISubscript2,RegionIISubscript1)+...
OriginMatrix(RegionIISubscript3,RegionIISubscript0)+...
OriginMatrix(RegionIISubscript3,RegionIISubscript1);
for i = RegionIISubscript0+2 : 2 : RegionIISubscript1-2;
RegionIIIntegrationPart2 = RegionIIIntegrationPart2 + 2*(OriginMatrix(RegionIISubscript2,i)+...
OriginMatrix(RegionIISubscript3,i));
end
for i = RegionIISubscript2+2 : 2 : RegionIISubscript3-2;
RegionIIIntegrationPart3 = RegionIIIntegrationPart3 + 2*(OriginMatrix(i,RegionIISubscript0)+...
OriginMatrix(i,RegionIISubscript1));
end
for i = RegionIISubscript0+1 : 2 : RegionIISubscript1-1;
RegionIIIntegrationPart4 = RegionIIIntegrationPart4 + 4*(OriginMatrix(RegionIISubscript2,i)+...
OriginMatrix(RegionIISubscript3,i));
end
for i = RegionIISubscript2+1 : 2 : RegionIISubscript3-1;
RegionIIIntegrationPart5 = RegionIIIntegrationPart5 + 4*(OriginMatrix(i,RegionIISubscript0)+...
OriginMatrix(i,RegionIISubscript1));
end
for i = RegionIISubscript0+2 : 2 : RegionIISubscript1-2;
for j = RegionIISubscript2+2 : 2 : RegionIISubscript3-2;
RegionIIIntegrationPart6 = RegionIIIntegrationPart6 + 4*OriginMatrix(i,j);
end
end
for i = RegionIISubscript0+2 : 2 : RegionIISubscript1-2;
for j = RegionIISubscript2+1 : 2 : RegionIISubscript3-1;
RegionIIIntegrationPart7 = RegionIIIntegrationPart7 + 8*OriginMatrix(i,j);
end
end
for i = RegionIISubscript0+1 : 2 : RegionIISubscript1-1;
for j = RegionIISubscript2+2 : 2 : RegionIISubscript3-2;
RegionIIIntegrationPart8 = RegionIIIntegrationPart8 + 4*OriginMatrix(i,j);
end
end
for i = RegionIISubscript0+1 : 2 : RegionIISubscript1-1;
for j = RegionIISubscript2+1 : 2 : RegionIISubscript3-1;
RegionIIIntegrationPart9 = RegionIIIntegrationPart9 + 16*OriginMatrix(i,j);
end
end
RegionIIIntegration=DeltaEx*DeltaEm/9*(RegionIIIntegrationPart1 + RegionIIIntegrationPart2 + RegionIIIntegrationPart3+...
RegionIIIntegrationPart4 + RegionIIIntegrationPart5 + RegionIIIntegrationPart6+...
RegionIIIntegrationPart7 + RegionIIIntegrationPart8 + RegionIIIntegrationPart9)
NormalizedRegionIIIntegration=RegionIIIntegration/((RegionIISubscript1-RegionIISubscript0)*(RegionIISubscript3-RegionIISubscript2));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%区域III辛普森积分%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
RegionIIIIntegrationPart1 = 0;
RegionIIIIntegrationPart2 = 0;
RegionIIIIntegrationPart3 = 0;
RegionIIIIntegrationPart4 = 0;
RegionIIIIntegrationPart5 = 0;
RegionIIIIntegrationPart6 = 0;
RegionIIIIntegrationPart7 = 0;
RegionIIIIntegrationPart8 = 0;
RegionIIIIntegrationPart9 = 0;
RegionIIIIntegrationPart1 = OriginMatrix(RegionIIISubscript2,RegionIIISubscript0)+...
OriginMatrix(RegionIIISubscript2,RegionIIISubscript1)+...
OriginMatrix(RegionIIISubscript3,RegionIIISubscript0)+...
OriginMatrix(RegionIIISubscript3,RegionIIISubscript1);
for i = RegionIIISubscript0+2 : 2 : RegionIIISubscript1-2;
RegionIIIIntegrationPart2 = RegionIIIIntegrationPart2 + 2*(OriginMatrix(RegionIIISubscript2,i)+...
OriginMatrix(RegionIIISubscript3,i));
end
for i = RegionIIISubscript2+2 : 2 : RegionIIISubscript3-2;
RegionIIIIntegrationPart3 = RegionIIIIntegrationPart3 + 2*(OriginMatrix(i,RegionIIISubscript0)+...
OriginMatrix(i,RegionIIISubscript1));
end
for i = RegionIIISubscript0+1 : 2 : RegionIIISubscript1-1;
RegionIIIIntegrationPart4 = RegionIIIIntegrationPart4 + 4*(OriginMatrix(RegionIIISubscript2,i)+...
OriginMatrix(RegionIIISubscript3,i));
end
for i = RegionIIISubscript2+1 : 2 : RegionIIISubscript3-1;
RegionIIIIntegrationPart5 = RegionIIIIntegrationPart5 + 4*(OriginMatrix(i,RegionIIISubscript0)+...
OriginMatrix(i,RegionIIISubscript1));
end
for i = RegionIIISubscript0+2 : 2 : RegionIIISubscript1-2;
for j = RegionIIISubscript2+2 : 2 : RegionIIISubscript3-2;
RegionIIIIntegrationPart6 = RegionIIIIntegrationPart6 + 4*OriginMatrix(i,j);
end
end
for i = RegionIIISubscript0+2 : 2 : RegionIIISubscript1-2;
for j = RegionIIISubscript2+1 : 2 : RegionIIISubscript3-1;
RegionIIIIntegrationPart7 = RegionIIIIntegrationPart7 + 8*OriginMatrix(i,j);
end
end
for i = RegionIIISubscript0+1 : 2 : RegionIIISubscript1-1;
for j = RegionIIISubscript2+2 : 2 : RegionIIISubscript3-2;
RegionIIIIntegrationPart8 = RegionIIIIntegrationPart8 + 4*OriginMatrix(i,j);
end
end
for i = RegionIIISubscript0+1 : 2 : RegionIIISubscript1-1;
for j = RegionIIISubscript2+1 : 2 : RegionIIISubscript3-1;
RegionIIIIntegrationPart9 = RegionIIIIntegrationPart9 + 16*OriginMatrix(i,j);
end
end
RegionIIIIntegration = DeltaEx*DeltaEm/9*(RegionIIIIntegrationPart1 + RegionIIIIntegrationPart2 + RegionIIIIntegrationPart3+...
RegionIIIIntegrationPart4 + RegionIIIIntegrationPart5 + RegionIIIIntegrationPart6+...
RegionIIIIntegrationPart7 + RegionIIIIntegrationPart8 + RegionIIIIntegrationPart9)
NormalizedRegionIIIIntegration = RegionIIIIntegration/((RegionIIISubscript1-RegionIIISubscript0)*(RegionIIISubscript3-RegionIIISubscript2));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%区域IV辛普森积分%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
RegionIVIntegrationPart1 = 0;
RegionIVIntegrationPart2 = 0;
RegionIVIntegrationPart3 = 0;
RegionIVIntegrationPart4 = 0;
RegionIVIntegrationPart5 = 0;
RegionIVIntegrationPart6 = 0;
RegionIVIntegrationPart7 = 0;
RegionIVIntegrationPart8 = 0;
RegionIVIntegrationPart9 = 0;
RegionIVIntegrationPart1 = OriginMatrix(RegionIVSubscript2,RegionIVSubscript0)+...
OriginMatrix(RegionIVSubscript2,RegionIVSubscript1)+...
OriginMatrix(RegionIVSubscript3,RegionIVSubscript0)+...
OriginMatrix(RegionIVSubscript3,RegionIVSubscript1);
for i = RegionIVSubscript0+2 : 2 : RegionIVSubscript1-2;
RegionIVIntegrationPart2 = RegionIVIntegrationPart2 + 2*(OriginMatrix(RegionIVSubscript2,i)+...
OriginMatrix(RegionIVSubscript3,i));
end
for i = RegionIVSubscript2+2 : 2 : RegionIVSubscript3-2;
RegionIVIntegrationPart3 = RegionIVIntegrationPart3 + 2*(OriginMatrix(i,RegionIVSubscript0)+...
OriginMatrix(i,RegionIVSubscript1));
end
for i = RegionIVSubscript0+1 : 2 : RegionIVSubscript1-1;
RegionIVIntegrationPart4 = RegionIVIntegrationPart4 + 4*(OriginMatrix(RegionIVSubscript2,i)+...
OriginMatrix(RegionIVSubscript3,i));
end
for i = RegionIVSubscript2+1 : 2 : RegionIVSubscript3-1;
RegionIVIntegrationPart5 = RegionIVIntegrationPart5 + 4*(OriginMatrix(i,RegionIVSubscript0)+...
OriginMatrix(i,RegionIVSubscript1));
end
for i = RegionIVSubscript0+2 : 2 : RegionIVSubscript1-2;
for j = RegionIVSubscript2+2 : 2 : RegionIVSubscript3-2;
RegionIVIntegrationPart6 = RegionIVIntegrationPart6 + 4*OriginMatrix(i,j);
end
end
for i = RegionIVSubscript0+2 : 2 : RegionIVSubscript1-2;
for j = RegionIVSubscript2+1 : 2 : RegionIVSubscript3-1;
RegionIVIntegrationPart7 = RegionIVIntegrationPart7 + 8*OriginMatrix(i,j);
end
end
for i = RegionIVSubscript0+1 : 2 : RegionIVSubscript1-1;
for j = RegionIVSubscript2+2 : 2 : RegionIVSubscript3-2;
RegionIVIntegrationPart8 = RegionIVIntegrationPart8 + 4*OriginMatrix(i,j);
end
end
for i = RegionIVSubscript0+1 : 2 : RegionIVSubscript1-1;
for j = RegionIVSubscript2+1 : 2 : RegionIVSubscript3-1;
RegionIVIntegrationPart9 = RegionIVIntegrationPart9 + 16*OriginMatrix(i,j);
end
end
RegionIVIntegration = DeltaEx*DeltaEm/9*(RegionIVIntegrationPart1 + RegionIVIntegrationPart2 + RegionIVIntegrationPart3+...
RegionIVIntegrationPart4 + RegionIVIntegrationPart5 + RegionIVIntegrationPart6+...
RegionIVIntegrationPart7 + RegionIVIntegrationPart8 + RegionIVIntegrationPart9)
NormalizedRegionIVIntegration = RegionIVIntegration/((RegionIVSubscript1-RegionIVSubscript0)*(RegionIVSubscript3-RegionIVSubscript2));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%区域V辛普森积分%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
RegionVIntegrationPart1 = 0;
RegionVIntegrationPart2 = 0;
RegionVIntegrationPart3 = 0;
RegionVIntegrationPart4 = 0;
RegionVIntegrationPart5 = 0;
RegionVIntegrationPart6 = 0;
RegionVIntegrationPart7 = 0;
RegionVIntegrationPart8 = 0;
RegionVIntegrationPart9 = 0;
RegionVIntegrationPart1 = OriginMatrix(RegionVSubscript2,RegionVSubscript0)+...
OriginMatrix(RegionVSubscript2,RegionVSubscript1)+...
OriginMatrix(RegionVSubscript3,RegionVSubscript0)+...
OriginMatrix(RegionVSubscript3,RegionVSubscript1);
for i = RegionVSubscript0+2 : 2 : RegionVSubscript1-2;
RegionVIntegrationPart2 = RegionVIntegrationPart2 + 2*(OriginMatrix(RegionVSubscript2,i)+...
OriginMatrix(RegionVSubscript3,i));
end
for i = RegionVSubscript2+2 : 2 : RegionVSubscript3-2;
RegionVIntegrationPart3 = RegionVIntegrationPart3 + 2*(OriginMatrix(i,RegionVSubscript0)+...
OriginMatrix(i,RegionVSubscript1));
end
for i = RegionVSubscript0+1 : 2 : RegionVSubscript1-1;
RegionVIntegrationPart4 = RegionVIntegrationPart4 + 4*(OriginMatrix(RegionVSubscript2,i)+...
OriginMatrix(RegionVSubscript3,i));
end
for i = RegionVSubscript2+1 : 2 : RegionVSubscript3-1;
RegionVIntegrationPart5 = RegionVIntegrationPart5 + 4*(OriginMatrix(i,RegionVSubscript0)+...
OriginMatrix(i,RegionVSubscript1));
end
for i = RegionVSubscript0+2 : 2 : RegionVSubscript1-2;
for j = RegionVSubscript2+2 : 2 : RegionVSubscript3-2;
RegionVIntegrationPart6 = RegionVIntegrationPart6 + 4*OriginMatrix(i,j);
end
end
for i = RegionVSubscript0+2 : 2 : RegionVSubscript1-2;
for j = RegionVSubscript2+1 : 2 : RegionVSubscript3-1;
RegionVIntegrationPart7 = RegionVIntegrationPart7 + 8*OriginMatrix(i,j);
end
end
for i = RegionVSubscript0+1 : 2 : RegionVSubscript1-1;
for j = RegionVSubscript2+2 : 2 : RegionVSubscript3-2;
RegionVIntegrationPart8 = RegionVIntegrationPart8 + 4*OriginMatrix(i,j);
end
end
for i = RegionVSubscript0+1 : 2 : RegionVSubscript1-1;
for j = RegionVSubscript2+1 : 2 : RegionVSubscript3-1;
RegionVIntegrationPart9 = RegionVIntegrationPart9 + 16*OriginMatrix(i,j);
end
end
RegionVIntegration = DeltaEx*DeltaEm/9*(RegionVIntegrationPart1 + RegionVIntegrationPart2 + RegionVIntegrationPart3+...
RegionVIntegrationPart4 + RegionVIntegrationPart5 + RegionVIntegrationPart6+...
RegionVIntegrationPart7 + RegionVIntegrationPart8 + RegionVIntegrationPart9)
NormalizedRegionVIntegration = RegionVIntegration/((RegionVSubscript1-RegionVSubscript0)*(RegionVSubscript3-RegionVSubscript2));
TotalNormalizedRegionIntegration = NormalizedRegionIIntegration + NormalizedRegionIIIntegration + NormalizedRegionIIIIntegration+...
NormalizedRegionIVIntegration + NormalizedRegionVIntegration;
RegionIProbability = NormalizedRegionIIntegration/TotalNormalizedRegionIntegration
Result(1,1) = RegionIProbability;
RegionIIProbability = NormalizedRegionIIIntegration/TotalNormalizedRegionIntegration
Result(1,2) = RegionIIProbability;
RegionIIIProbability = NormalizedRegionIIIIntegration/TotalNormalizedRegionIntegration
Result(1,3) = RegionIIIProbability;
RegionIVProbability = NormalizedRegionIVIntegration/TotalNormalizedRegionIntegration
Result(1,4) = RegionIVProbability;
RegionVProbability = NormalizedRegionVIntegration/TotalNormalizedRegionIntegration
Result(1,5) = RegionVProbability;
end
分享一个我写的matlab小工具用于三维荧光区域积分,
function [Phi, MF, Phinorm]=regional_integration(data)
% regional integration of EEM data with projected area normalization
% recommend by Chen et al. (2003)
% USEAGE:
% [Phi, MF, Phinorm] = regional_integration(data)
% INPUTS:
% data: EEM dataset. The dataset data should contain X as EEM data
% cube, Ex and Em as excitation and emission wavelength list, nEx
% , nEm and nSample as ex wave number, ex wave number and sample
% number.
% OUPUTS:
% Phi: Fluorescent volum beneath region "i"
% MF: multiplication factor for each region, queal to the inverse of the
% fractional projected area
% Phinorm: normalized EEM area volumes
% Phinorm(i)=Phi(i)*MF(i)
% Reference:
% Chen W, Westerhoff P, Leenheer J A, et al. Fluorescence excitation-emission matrix regional integration to quantify spectra for dissolved organic matter[J]. Environmental science technology, 2003, 37(24): 5701-5711
% Notice:
% The mfile is a work of Chai Liwei.
% Environment Science
% Peking university
% College of Environmental Science and Engineering
%%
% exctact basic information
nSample = data.nSample;
nEx = data.nEx
nEm = data.nEm
Ex=data.Ex
Em=data.Em
% set Ex and Em pointer
[~,pEx1]=min(abs(Ex(:)-250))
[~,pEx2]=min(abs(Ex(:)-380))
[~,pEm1]=min(abs(Em(:)-330))
[~,pEm2]=min(abs(Em(:)-380))
% filter NaN in EEM data cube
data.X(isnan(data.X))=0
% integration
for i=1:nSample
A1=sum(sum(squeeze(data.X(i,1:pEm1,1:pEx1)&>0)))
A2=sum(sum(squeeze(data.X(i,pEm1:pEm2,1:pEx1)&>0)))
A3=sum(sum(squeeze(data.X(i,pEm2:nEm,1:pEx1)&>0)))
A4=sum(sum(squeeze(data.X(i,1:pEm2,pEx1:pEx2)&>0)))
A5=sum(sum(squeeze(data.X(i,pEm2:nEm,pEx1:nEx)&>0)))
TA=A1+A2+A3+A4+A5
MF(i,1)=TA/A1
MF(i,2)=TA/A2
MF(i,3)=TA/A3
MF(i,4)=TA/A4
MF(i,5)=TA/A5
Phi(i,1)=sum(sum(squeeze(data.X(i,1:pEm1,1:pEx1))))
Phinorm(i,1)=Phi(i,1)*MF(i,1)
Phi(i,2)=sum(sum(squeeze(data.X(i,pEm1:pEm2,1:pEx1))))
Phinorm(i,2)=Phi(i,2)*MF(i,2)
Phi(i,3)=sum(sum(squeeze(data.X(i,pEm2:nEm,1:pEx1))))
Phinorm(i,3)=Phi(i,3)*MF(i,3)
Phi(i,4)=sum(sum(squeeze(data.X(i,1:pEm2,pEx1:pEx2))))
Phinorm(i,4)=Phi(i,4)*MF(i,4)
Phi(i,5)=sum(sum(squeeze(data.X(i,pEm2:nEm,pEx1:nEx))))
Phinorm(i,5)=Phi(i,5)*MF(i,5)
end
end
如果您觉得我写得小工具有帮助,麻烦您引用我的文章
Liwei Chai, Muke Huang, Hao Fan, Jie Wang, Dalin Jiang, Yi Huang. Urbanization altered regional soil organic matter quantity and quality: Insight from excitation emission matrix (EEM) and parallel factor analysis (PARAFAC). Chemosphere, 2019, 220, 249-258.
首先打开origin
将要区域积分的数据复制进工作表中
A(X)为所选的波长
B(Y)为荧光强度
选中两列并,单选绘图按钮
选中所绘制的线,并点选分析→数学→积分按钮
点击确定
在Book1中即可出现所计算的面积积分
新建matrix矩阵,根据数据的ex和em,设置matrix的列个数和行个数,设置matrix的列起止波长范围,行的起止波长范围。analysis→mathematics→2D volume integrate。
点击激活contour graph window,菜单栏选择Gadget: 2D Integration Gadget.
你好,我也遇到了同样的问题。您已经解决了吗?就分析
能不能私信请教你一下呀
推荐阅读: