资源描述:
《椭球形骨料混凝土数学模型与计算机实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、沙石形骨料混凝土的数学模型与计算机实现宋来忠设有沙石形骨料混凝土块,长、宽、高分别为a、b、c(单位:cm),其中有n块骨料,记为Pi,i=1,…,n,每块骨料的最大直径分别为2ri(单位:cm),i=1,…,n,。ri∈[e,f],不失一般性,建立如图1所示的坐标系,可假定骨料Pi刚好位于球心在(xi,yi,zi)半径为ri的球Si中。(优化)假如随机的用N块骨料与水泥细沙搅拌成混凝土泥浆,制作长、宽、高分别为a、b、c混凝土块,用料中含骨料n,(n块都放进,所以n要适当,可以由程序1实验得到),此时,上述半径为ri的球S
2、i的球心坐标(xi,yi,zi)满足(1)、(2),有优化模型:约束函数:s.t当n不太大时,比如小于100;求解较为可行;程序2是取n=60运行的情形:function[c,ceg]=shuiliY(x)globalnrn=60;loadr;b=15;d=15;f=15;N=1;fori=1:n-1forj=i+1:nA(N)=(x(i)-x(j))^2+(x(n+i)-x(n+j))^2+(x(2*n+i)-x(2*n+j))^2-(r(i)+r(j))^2;N=N+1;endendA1=A(:);%Nc=[-A1;-x
3、+[r;r;r];(x-b)+[r;r;r]];ceg=[];目标函数:functionf=shuiliM(x)globalnrn=60;s=0;%r=unifrnd(0.02,0.2,n,1);b=15;d=15;f=15;x=x';fori=1:nforj=1:n%i+1:ns=s+(x(i)-x(j))^2+(x(n+i)-x(n+j))^2+(x(2*n+i)-x(2*n+j))^2;ends=s+x(i)^2+(x(i)-b)^2+x(n+i)^2+(x(n+i)-d)^2+x(2*n+i)^2+(x(2*n+i)
4、-f)^2;endf=s;主程序:clear;close;globalnrn=60;%r=unifrnd(0.2,2,n,1);x0=5*ones(3*n,1);%b=15;d=15;f=15;%VLB=zeros(3*n,1)+0.2;VUB=15*ones(3*n,1)-0.2;loadr;VLB=zeros(3*n,1);VUB=15*ones(3*n,1);Aeg=[];beg=[];OPT=optimset;OPT.LargeScale='off';[x,fval]=fmincon('shuiliM',x0,[],
5、[],Aeg,beg,VLB,VUB,'shuiliY',OPT);X=x(1:n);Y=x(n+1:2*n);Z=x(2*n+1:3*n);[X(:),Y(:),Z(:),r(:)]size([X(:),Y(:),Z(:),r(:)])fori=1:nk=5;m=2^k-1;theta=pi*(-m:2:m+2)/m;phi=(pi/2)*(-m:2:m)'/m;s1=unifrnd(0.3,0.9);s2=unifrnd(0.3,0.9);s3=unifrnd(0.3,0.9);X1=s1*r(i)*cos(phi)*c
6、os(theta)+X(i);Y1=s2*r(i)*cos(phi)*sin(theta)+Y(i);Z1=s3*r(i)*sin(phi)*ones(size(theta))+Z(i);colormap(pink);C=hadamard(2^k);surf(X1,Y1,Z1,C);axis([015015015])holdon;end当n较大时,比如大于100;求解较为复杂,一般用时(计算机运行)较长,而在工程实际中n往往是很大的。因此,有必要用一些非标准的方法求解,比如遗传算法、模拟退火算法、MonteCarlo法求解。
7、274330001663300022.715546.029366.6735135.15310.6007