基础底面尺寸MATLAB源程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基础底面尺寸MATLAB源程序
源程序作者:黄太华
将以下源程序复制,在MA TLAB中运算即可直接算出任意偏心下单向偏心基础底面尺寸,由于程序采用直接求解,所得基础底面尺寸即为精确解。
源程序如下:
% fundation_area.m
% 单向偏心矩形基础底面积直接求解程序
clear
format bank,format compact
disp('单向偏心矩形基础底面积直接求解程序');
fa=input('输入地基承载力kPa:');
famax=1.2*fa;
rG=input('输入基础及基础以上土的平均重度kN/m^3(一般为20):');
d=input('输入基础平均埋深m:');
Fk=input('输入柱脚轴力标准值kN:');
Mk=input('输入相对于基础底面的弯矩标准值kN*m:');
n=input('输入基础长宽比b/l=:');
n1=1/n;
b=sqrt(n*Fk/(fa-rG*d));b=round(b*100+0.5)/100;
l=b/n;l=round(l*100+0.5)/100;
A=b*l;
ek=Mk/(Fk+rG*d*A);
if(ek<=b/30)
disp('中心受压或近中心受压基础,ek<=b/30')
disp('基础底面长向尺寸b为m:'),b
disp('基础底面短向尺寸l为m:'),l
disp('基础底面平均反力标准值为kPa:')
pk=(Fk+rG*d*A)/A
pkmin=NaN;
else
c3=1.2*fa-rG*d;c1=n*Fk;c0=6*n*Mk;
p=[c3,0,-c1,-c0];
c=roots(p);
for k=1:3
if(isreal(c(k))&(real(c(k))>0))
b=c(k);b=round(b*100+0.5)/100;
end
end
l=b/n;l=round(l*100+0.5)/100;
pkmax=(Fk+rG*d*b*l)/(b*l)+6*Mk/(l*b^2);
pkmin=(Fk+rG*d*b*l)/(b*l)-6*Mk/(l*b^2);
end
if(pkmin>=0)
disp('偏心受压基础而且基底未出现零应力区,6/30 disp('基础底面长向尺寸b为m:'),b disp('基础底面短向尺寸l为m:'),l disp('基础底面最大反力标准值为kPa:'),pkmax disp('1.2fa=:'),famax disp('基础底面最小反力标准值为kPa:'),pkmin elseif pkmin<0 c4=0.9*n1^2*rG*d*fa-(n1*rG*d)^2; c2=(0.9*n1*fa-2*n1*rG*d)*Fk; c1=1.8*n1*fa*Mk; c0=Fk^2; p=[c4,0,c2,-c1,-c0]; c=roots(p); for k=1:4 if(isreal(c(k))&(real(c(k))>0)) b=c(k);b=round(b*100+0.5)/100; end end l=b/n;l=round(l*100+0.5)/100; disp('偏心受压基础而且基底出现零应力区,ek>b/6') disp('基础底面长向尺寸b为m:'),b disp('基础底面短向尺寸l为m:'),l ek=Mk/(Fk+rG*d*b*l); pkmax=2*(Fk+rG*d*b*l)/(3*l*(b/2-ek)); disp('基础底面最大反力标准值为kPa:'),pkmax disp('1.2fa=:'),famax end