| 4 | 1/1 | 返回列表 |
| 查看: 1621 | 回復: 3 | ||
愛笑的眼睛na金蟲 (初入文壇)
|
[求助]
隨機生長法模擬多孔介質的matlab二維代碼改寫三維,結果出來還是二維 已有2人參與
|
|
本人根據(jù)http://www.gaoyang168.com/html/201111/3749191.html隨機生長法模擬多孔介質的二維代碼編寫了一個三維代碼,但結果出來還是二維的,請求各位大神查一下錯誤在哪兒,并給出解決的方法,謝謝啦! 代碼如下: %======設定初值============= clc;clear; rand('state',0); set(gcf,'DoubleBuffer','on');%消除振動 Cd=0.01;%生長核分布概率數(shù) Vr=0.01;%生長相的體積分數(shù) global kn kn=500; p=[1/8 1/8 1/8 1/8 1/4 1/4 1/4 1/4];%方向增長概率數(shù) A=rand(kn,kn);%初始網(wǎng)格kn×kn A(find(A<=Cd))=0;%黑色,生長核 A(find(A>Cd))=1;%白色 m=0;%迭代步驟 N=kn*kn*kn;%格點數(shù) [x,y,z]=find(A==0);%生長核腳標 [y1,z] = ind2sub([kn,kn],y); Ixy1z = sub2ind([kn,kn,kn],x,y1,z); gn=length(Ixy1z);%生長核計數(shù) Vs=gn/N %體積分數(shù) %=========================== while Vs<0.001 xW=x-1;xE=x+1; xW(xW==0)=1;% 對近鄰進行邊界條件處理 xE(xE==kn+1)=kn;% 對近鄰進行邊界條件處理 y1N=y1-1;y1S=y1+1; y1N(y1N==0)=1;% 對近鄰進行邊界條件處理 y1S(y1S==kn+1)=kn;% 對近鄰進行邊界條件處理 zB=z-1;zT=z+1; zB(zB==0)=1;% 對近鄰進行邊界條件處理 zT(zT==kn+1)=kn;% 對近鄰進行邊界條件處理 InE=sub2ind([kn,kn],xE,z); % 右方轉化腳標為索引 InB=sub2ind([kn,kn],x,zB); % 下方轉化腳標為索引 InW=sub2ind([kn,kn],xW,z); % 左方轉化腳標為索引 InT=sub2ind([kn,kn],x,zT); % 上方轉化腳標為索引 InS=sub2ind([kn,kn],x,y1N); % 下方轉化腳標為索引 InN=sub2ind([kn,kn],x,y1S); % 上方轉化腳標為索引 InET=sub2ind([kn,kn],xE,zT); % 右上方轉化腳標為索引 InEB=sub2ind([kn,kn],xE,zB); % 右下方轉化腳標為索引 InWB=sub2ind([kn,kn],xW,zB); % 左下方轉化腳標為索引 InWT=sub2ind([kn,kn],xW,zT); % 左上方轉化腳標為索引 InEN=sub2ind([kn,kn],xE,y1N); % 右上方轉化腳標為索引 InES=sub2ind([kn,kn],xE,y1S); % 右下方轉化腳標為索引 InWS=sub2ind([kn,kn],xW,y1S); % 左下方轉化腳標為索引 InWN=sub2ind([kn,kn],xW,y1N); % 左上方轉化腳標為索引 InTS=sub2ind([kn,kn],y1S,zT); % 右上方轉化腳標為索引 InBS=sub2ind([kn,kn],y1S,zB); % 右下方轉化腳標為索引 InBN=sub2ind([kn,kn],y1N,zB); % 左下方轉化腳標為索引 InTN=sub2ind([kn,kn],y1N,zT); % 左上方轉化腳標為索引 %==========做圖======== CInE=setdiff(InE,Ixy1z); En=rand(1,length(CInE));[i,j,k]=find(En<=p(5));pE=sub2ind([1,length(CInE)],i,j,k); A(CInE(pE))=0; [x,y1,z]=find(A==0); Ixy1z=sub2ind([kn,kn,kn],x,y1,z); CInT= setdiff(InT,Ixy1z);Tn=rand(1,length(CInT));[i,j,k]=find(Tn<=p(6));pT=sub2ind([1,length(CInT)],i,j,k); A(CInT(pT))=0; [x,y1,z]=find(A==0); Ixy1z=sub2ind([kn,kn,kn],x,y1,z); CInW=setdiff(InW,Ixy1z);Wn=rand(1,length(CInW));[i,j,k]=find(Wn<=p(7));pW=sub2ind([1,length(CInW)],i,j,k); A(CInW(pW))=0; [x,y1,z]=find(A==0); Ixy1z=sub2ind([kn,kn,kn],x,y1,z); CInB=setdiff(InB,Ixy1z);Bn=rand(1,length(CInB));[i,j,k]=find(Bn<=p(8));pB=sub2ind([1,length(CInB)],i,j,k); A(CInB(pB))=0; [x,y1,z]=find(A==0); Ixy1z=sub2ind([kn,kn,kn],x,y1,z); CInEB=setdiff(InEB,Ixy1z);EBn=rand(1,length(CInEB));[i,j,k]=find(EBn<=p(8));pEB=sub2ind([1,length(CInEB)],i,j,k); A(CInEB(pEB))=0; [x,y1,z]=find(A==0); Ixy1z=sub2ind([kn,kn,kn],x,y1,z); CInET=setdiff(InET,Ixy1z);ETn=rand(1,length(CInET));[i,j,k]=find(ETn<=p(8));pET=sub2ind([1,length(CInET)],i,j,k); A(CInET(pET))=0; [x,y1,z]=find(A==0); Ixy1z=sub2ind([kn,kn,kn],x,y1,z); CInWT=setdiff(InWT,Ixy1z);WTn=rand(1,length(CInWT));[i,j,k]=find(WTn<=p(8));pWT=sub2ind([1,length(CInWT)],i,j,k); A(CInWT(pWT))=0; [x,y1,z]=find(A==0); Ixy1z=sub2ind([kn,kn,kn],x,y1,z); CInWB=setdiff(InWB,Ixy1z);WBn=rand(1,length(CInWB));[i,j,k]=find(WBn<=p(8));pWB=sub2ind([1,length(CInWB)],i,j,k); A(CInWB(pWB))=0; [x,y1,z]=find(A==0); Ixy1z=sub2ind([kn,kn,kn],x,y1,z); CInS= setdiff(InS,Ixy1z);Sn=rand(1,length(CInS));[i,j,k]=find(Sn<=p(5));pS=sub2ind([1,length(CInS)],i,j,k); A(CInS(pS))=0; [x,y1,z]=find(A==0); Ixy1z=sub2ind([kn,kn,kn],x,y1,z); CInN=setdiff(InN,Ixy1z);Nn=rand(1,length(CInN));[i,j,k]=find(Nn<=p(8));pN=sub2ind([1,length(CInN)],i,j,k); A(CInN(pN))=0; [x,y1,z]=find(A==0); Ixy1z=sub2ind([kn,kn,kn],x,y1,z); CInEN=setdiff(InEN,Ixy1z);ENn=rand(1,length(CInEN));[i,j,k]=find(ENn<=p(8));pEN=sub2ind([1,length(CInEN)],i,j,k); A(CInEN(pEN))=0; [x,y1,z]=find(A==0); Ixy1z=sub2ind([kn,kn,kn],x,y1,z); CInES=setdiff(InES,Ixy1z);ESn=rand(1,length(CInES));[i,j,k]=find(ESn<=p(8));pES=sub2ind([1,length(CInES)],i,j,k); A(CInES(pES))=0; [x,y1,z]=find(A==0); Ixy1z=sub2ind([kn,kn,kn],x,y1,z); CInWS=setdiff(InWS,Ixy1z);WSn=rand(1,length(CInWS));[i,j,k]=find(WSn<=p(8));pWS=sub2ind([1,length(CInWS)],i,j,k); A(CInWS(pWS))=0; [x,y1,z]=find(A==0); Ixy1z=sub2ind([kn,kn,kn],x,y1,z); CInWN=setdiff(InWN,Ixy1z);WNn=rand(1,length(CInWN));[i,j,k]=find(WNn<=p(8));pWN=sub2ind([1,length(CInWN)],i,j,k); A(CInWN(pWN))=0; [x,y1,z]=find(A==0); Ixy1z=sub2ind([kn,kn,kn],x,y1,z); CInTS=setdiff(InTS,Ixy1z); TSn=rand(1,length(CInTS));[i,j,k]=find(TSn<=p(8));pTS=sub2ind([1,length(CInTS)],i,j,k); A(CInTS (pTS))=0; [x,y1,z]=find(A==0); Ixy1z=sub2ind([kn,kn,kn],x,y1,z); CInBS=setdiff(InBS,Ixy1z);BSn=rand(1,length(CInBS));[i,j,k]=find(BSn<=p(8));pBS=sub2ind([1,length(CInBS)],i,j,k); A(CInBS(pBS))=0; [x,y1,z]=find(A==0); Ixy1z=sub2ind([kn,kn,kn],x,y1,z); CInBN=setdiff(InBN,Ixy1z); BNn=rand(1,length(CInBN));[i,j,k]=find(BNn<=p(8));pBN=sub2ind([1,length(CInBN)],i, j,k); A(CInBN (pBN))=0; [x,y1,z]=find(A==0); Ixy1z=sub2ind([kn,kn,kn],x,y1,z); CInTN=setdiff(InTN,Ixy1z); TNn=rand(1,length(CInTN));[i,j,k]=find(TNn<=p(8));pTN=sub2ind([1,length(CInTN)],i, j,k); A(CInTN (pTN))=0; [x,y1,z]=find(A==0); Ixy1z=sub2ind([kn,kn,kn],x,y1,z); [x,y1,z]=find(A==0); Ixy1z=sub2ind([kn,kn,kn],x,y1,z); gn=length(Ixy1z); Vs=gn/N %體積分數(shù) m=m+1 pause(0.1) imshow(A,'InitialMagnification','fit')%更新圖像 title('time=','Fontsize',14,'Fontname','Times new roman'); % 更新時間參數(shù) end |
| 4 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 344求調劑 +5 | knight344 2026-03-16 | 6/300 |
|
|---|---|---|---|---|
|
[考研] 281求調劑(0805) +5 | 煙汐憶海 2026-03-16 | 13/650 |
|
|
[考研] 297求調劑 +8 | 戲精丹丹丹 2026-03-17 | 8/400 |
|
|
[考研] 302求調劑 +10 | 呼呼呼。。。。 2026-03-17 | 10/500 |
|
|
[考研] 一志愿天津大學化學工藝專業(yè)(081702)315分求調劑 +9 | yangfz 2026-03-17 | 9/450 |
|
|
[考研] 考研求調劑 +3 | 橘頌. 2026-03-17 | 4/200 |
|
|
[考研] 有沒有道鐵/土木的想調劑南林,給自己招師弟中~ +3 | TqlXswl 2026-03-16 | 7/350 |
|
|
[考研] 211本,11408一志愿中科院277分,曾在中科院自動化所實習 +6 | Losir 2026-03-12 | 7/350 |
|
|
[考研] 274求調劑 +5 | 時間點 2026-03-13 | 5/250 |
|
|
[考研] 318求調劑 +3 | Yanyali 2026-03-15 | 3/150 |
|
|
[考研] 中科院材料273求調劑 +4 | yzydy 2026-03-15 | 4/200 |
|
|
[考研] 22408總分284求調劑 +3 | InAspic 2026-03-13 | 3/150 |
|
|
[考研] 288求調劑 +4 | 奇點0314 2026-03-14 | 4/200 |
|
|
[考研] 297一志愿上交085600求調劑 +5 | 指尖八千里 2026-03-14 | 5/250 |
|
|
[考研] 315求調劑 +9 | 小羊小羊_ 2026-03-11 | 10/500 |
|
|
[考研] 311求調劑 +3 | 冬十三 2026-03-13 | 3/150 |
|
|
[考研] 材料301分求調劑 +5 | Liyouyumairs 2026-03-12 | 5/250 |
|
|
[論文投稿]
投稿問題
5+4
|
星光燦爛xt 2026-03-12 | 6/300 |
|
|
[考研] 0817化學工程與技術考研312分調劑 +3 | T123 tt 2026-03-12 | 3/150 |
|
|
[考研] 081200-11408-276學碩求調劑 +3 | 崔wj 2026-03-12 | 4/200 |
|