用matlab仿真单相SPWN整流电路,随机生长法模拟多孔介质的matlab二维代码改写三维,结果出来还是二维...

本人根据http://muchong.com/html/201111/3749191.html随机生长法模拟多孔介质的二维代码编写了一个三维代码,但结果出来还是二维的,请求各位大神查一下错误在哪儿,并给出解决的方法,谢谢啦!

代码如下:

%======设定初值=============

clc;clear;

rand('state',0);

set(gcf,'DoubleBuffer','on');%消除振动

Cd=0.01;%生长核分布概率数

Vr=0.01;%生长相的体积分数

global kn

kn=500;

p=[1/8 1/8 1/8 1/8 1/4 1/4 1/4 1/4];%方向增长概率数

A=rand(kn,kn);%初始网格kn×kn

A(find(A<=Cd))=0;%黑色,生长核

A(find(A>Cd))=1;%白色

m=0;%迭代步骤

N=kn*kn*kn;%格点数

[x,y,z]=find(A==0);%生长核脚标

[y1,z] = ind2sub([kn,kn],y);

Ixy1z = sub2ind([kn,kn,kn],x,y1,z);

gn=length(Ixy1z);%生长核计数

Vs=gn/N %体积分数

%===========================

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;% 对近

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值