三維螢光的分析問題,如何用origin進行體積積分??

時間 2021-05-31 16:50:35

1樓:

我用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;

endif ~~(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));

endfor i = RegionISubscript2+2 : 2 : RegionISubscript3-2;

RegionIIntegrationPart3 = RegionIIntegrationPart3 + 2*(OriginMatrix(i,RegionISubscript0)+...

OriginMatrix(i,RegionISubscript1));

endfor i = RegionISubscript0+1 : 2 : RegionISubscript1-1;

RegionIIntegrationPart4 = RegionIIntegrationPart4 + 4*(OriginMatrix(RegionISubscript2,i)+...

OriginMatrix(RegionISubscript3,i));

endfor i = RegionISubscript2+1 : 2 : RegionISubscript3-1;

RegionIIntegrationPart5 = RegionIIntegrationPart5 + 4*(OriginMatrix(i,RegionISubscript0)+...

OriginMatrix(i,RegionISubscript1));

endfor i = RegionISubscript0+2 : 2 : RegionISubscript1-2;

for j = RegionISubscript2+2 : 2 : RegionISubscript3-2;

RegionIIntegrationPart6 = RegionIIntegrationPart6 + 4*OriginMatrix(i,j);

endend

for i = RegionISubscript0+2 : 2 : RegionISubscript1-2;

for j = RegionISubscript2+1 : 2 : RegionISubscript3-1;

RegionIIntegrationPart7 = RegionIIntegrationPart7 + 8*OriginMatrix(i,j);

endend

for i = RegionISubscript0+1 : 2 : RegionISubscript1-1;

for j = RegionISubscript2+2 : 2 : RegionISubscript3-2;

RegionIIntegrationPart8 = RegionIIntegrationPart8 + 4*OriginMatrix(i,j);

endend

for i = RegionISubscript0+1 : 2 : RegionISubscript1-1;

for j = RegionISubscript2+1 : 2 : RegionISubscript3-1;

RegionIIntegrationPart9 = RegionIIntegrationPart9 + 16*OriginMatrix(i,j);

endend

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));

endfor i = RegionIISubscript2+2 : 2 : RegionIISubscript3-2;

RegionIIIntegrationPart3 = RegionIIIntegrationPart3 + 2*(OriginMatrix(i,RegionIISubscript0)+...

OriginMatrix(i,RegionIISubscript1));

endfor i = RegionIISubscript0+1 : 2 : RegionIISubscript1-1;

RegionIIIntegrationPart4 = RegionIIIntegrationPart4 + 4*(OriginMatrix(RegionIISubscript2,i)+...

OriginMatrix(RegionIISubscript3,i));

endfor i = RegionIISubscript2+1 : 2 : RegionIISubscript3-1;

RegionIIIntegrationPart5 = RegionIIIntegrationPart5 + 4*(OriginMatrix(i,RegionIISubscript0)+...

OriginMatrix(i,RegionIISubscript1));

endfor i = RegionIISubscript0+2 : 2 : RegionIISubscript1-2;

for j = RegionIISubscript2+2 : 2 : RegionIISubscript3-2;

RegionIIIntegrationPart6 = RegionIIIntegrationPart6 + 4*OriginMatrix(i,j);

endend

for i = RegionIISubscript0+2 : 2 : RegionIISubscript1-2;

for j = RegionIISubscript2+1 : 2 : RegionIISubscript3-1;

RegionIIIntegrationPart7 = RegionIIIntegrationPart7 + 8*OriginMatrix(i,j);

endend

for i = RegionIISubscript0+1 : 2 : RegionIISubscript1-1;

for j = RegionIISubscript2+2 : 2 : RegionIISubscript3-2;

RegionIIIntegrationPart8 = RegionIIIntegrationPart8 + 4*OriginMatrix(i,j);

endend

for i = RegionIISubscript0+1 : 2 : RegionIISubscript1-1;

for j = RegionIISubscript2+1 : 2 : RegionIISubscript3-1;

RegionIIIntegrationPart9 = RegionIIIntegrationPart9 + 16*OriginMatrix(i,j);

endend

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));

endfor i = RegionIIISubscript2+2 : 2 : RegionIIISubscript3-2;

RegionIIIIntegrationPart3 = RegionIIIIntegrationPart3 + 2*(OriginMatrix(i,RegionIIISubscript0)+...

OriginMatrix(i,RegionIIISubscript1));

endfor i = RegionIIISubscript0+1 : 2 : RegionIIISubscript1-1;

RegionIIIIntegrationPart4 = RegionIIIIntegrationPart4 + 4*(OriginMatrix(RegionIIISubscript2,i)+...

OriginMatrix(RegionIIISubscript3,i));

endfor i = RegionIIISubscript2+1 : 2 : RegionIIISubscript3-1;

RegionIIIIntegrationPart5 = RegionIIIIntegrationPart5 + 4*(OriginMatrix(i,RegionIIISubscript0)+...

OriginMatrix(i,RegionIIISubscript1));

endfor i = RegionIIISubscript0+2 : 2 : RegionIIISubscript1-2;

for j = RegionIIISubscript2+2 : 2 : RegionIIISubscript3-2;

RegionIIIIntegrationPart6 = RegionIIIIntegrationPart6 + 4*OriginMatrix(i,j);

endend

for i = RegionIIISubscript0+2 : 2 : RegionIIISubscript1-2;

for j = RegionIIISubscript2+1 : 2 : RegionIIISubscript3-1;

RegionIIIIntegrationPart7 = RegionIIIIntegrationPart7 + 8*OriginMatrix(i,j);

endend

for i = RegionIIISubscript0+1 : 2 : RegionIIISubscript1-1;

for j = RegionIIISubscript2+2 : 2 : RegionIIISubscript3-2;

RegionIIIIntegrationPart8 = RegionIIIIntegrationPart8 + 4*OriginMatrix(i,j);

endend

for i = RegionIIISubscript0+1 : 2 : RegionIIISubscript1-1;

for j = RegionIIISubscript2+1 : 2 : RegionIIISubscript3-1;

RegionIIIIntegrationPart9 = RegionIIIIntegrationPart9 + 16*OriginMatrix(i,j);

endend

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));

endfor i = RegionIVSubscript2+2 : 2 : RegionIVSubscript3-2;

RegionIVIntegrationPart3 = RegionIVIntegrationPart3 + 2*(OriginMatrix(i,RegionIVSubscript0)+...

OriginMatrix(i,RegionIVSubscript1));

endfor i = RegionIVSubscript0+1 : 2 : RegionIVSubscript1-1;

RegionIVIntegrationPart4 = RegionIVIntegrationPart4 + 4*(OriginMatrix(RegionIVSubscript2,i)+...

OriginMatrix(RegionIVSubscript3,i));

endfor i = RegionIVSubscript2+1 : 2 : RegionIVSubscript3-1;

RegionIVIntegrationPart5 = RegionIVIntegrationPart5 + 4*(OriginMatrix(i,RegionIVSubscript0)+...

OriginMatrix(i,RegionIVSubscript1));

endfor i = RegionIVSubscript0+2 : 2 : RegionIVSubscript1-2;

for j = RegionIVSubscript2+2 : 2 : RegionIVSubscript3-2;

RegionIVIntegrationPart6 = RegionIVIntegrationPart6 + 4*OriginMatrix(i,j);

endend

for i = RegionIVSubscript0+2 : 2 : RegionIVSubscript1-2;

for j = RegionIVSubscript2+1 : 2 : RegionIVSubscript3-1;

RegionIVIntegrationPart7 = RegionIVIntegrationPart7 + 8*OriginMatrix(i,j);

endend

for i = RegionIVSubscript0+1 : 2 : RegionIVSubscript1-1;

for j = RegionIVSubscript2+2 : 2 : RegionIVSubscript3-2;

RegionIVIntegrationPart8 = RegionIVIntegrationPart8 + 4*OriginMatrix(i,j);

endend

for i = RegionIVSubscript0+1 : 2 : RegionIVSubscript1-1;

for j = RegionIVSubscript2+1 : 2 : RegionIVSubscript3-1;

RegionIVIntegrationPart9 = RegionIVIntegrationPart9 + 16*OriginMatrix(i,j);

endend

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));

endfor i = RegionVSubscript2+2 : 2 : RegionVSubscript3-2;

RegionVIntegrationPart3 = RegionVIntegrationPart3 + 2*(OriginMatrix(i,RegionVSubscript0)+...

OriginMatrix(i,RegionVSubscript1));

endfor i = RegionVSubscript0+1 : 2 : RegionVSubscript1-1;

RegionVIntegrationPart4 = RegionVIntegrationPart4 + 4*(OriginMatrix(RegionVSubscript2,i)+...

OriginMatrix(RegionVSubscript3,i));

endfor i = RegionVSubscript2+1 : 2 : RegionVSubscript3-1;

RegionVIntegrationPart5 = RegionVIntegrationPart5 + 4*(OriginMatrix(i,RegionVSubscript0)+...

OriginMatrix(i,RegionVSubscript1));

endfor i = RegionVSubscript0+2 : 2 : RegionVSubscript1-2;

for j = RegionVSubscript2+2 : 2 : RegionVSubscript3-2;

RegionVIntegrationPart6 = RegionVIntegrationPart6 + 4*OriginMatrix(i,j);

endend

for i = RegionVSubscript0+2 : 2 : RegionVSubscript1-2;

for j = RegionVSubscript2+1 : 2 : RegionVSubscript3-1;

RegionVIntegrationPart7 = RegionVIntegrationPart7 + 8*OriginMatrix(i,j);

endend

for i = RegionVSubscript0+1 : 2 : RegionVSubscript1-1;

for j = RegionVSubscript2+2 : 2 : RegionVSubscript3-2;

RegionVIntegrationPart8 = RegionVIntegrationPart8 + 4*OriginMatrix(i,j);

endend

for i = RegionVSubscript0+1 : 2 : RegionVSubscript1-1;

for j = RegionVSubscript2+1 : 2 : RegionVSubscript3-1;

RegionVIntegrationPart9 = RegionVIntegrationPart9 + 16*OriginMatrix(i,j);

endend

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

三維拓撲優化柔順機構的問題?

菲茲 是line 74b弄錯了,U從nx2變成了nx1。換乙個變數就行,不影響靈敏度計算。原OC只適合全負靈敏度問題,OC用於柔順機構的話必須用一些artifact,比如人為的把正靈敏度變成乙個很小的負數,或者直接取絕對值。據我所知,柔順機構收斂性不是很好,建議用一些自適應的優化方法比如MMA。SQ...

如何用GIS做乙個簡易的校園三維模型?

ThingJS 優鍩ThingJS的智慧型校園視覺化專案經驗豐富,簡單透露一下知識框架,主要分為四個技術模組 資料採集,主要包括校園地圖和紋理貼圖的採集,了解校園的地理結構和建築物分布等等,通過採集建築物和天空盒的貼圖,並使用 Photoshop等工具對圖形進行處理。2.3D模型的建立和優化,該部分...

如何用通俗易懂的語言解釋拉康的三維世界 實在界 想象界 象徵界?

符號界 象徵界 the Symbolic 即所謂的象徵秩序 symbolic order 它表明主體的整個存在必須是經由符號系統所調停和支配的。包括一切感知必須受某種表象模式的規制 審美和愛欲必須受某種符號性的慾望結構支配 言語和反思受到符號化的邏輯體系制約等等。這一象徵秩序幾乎構成了主體所能把握和...