LOFTER for ipad —— 让兴趣,更有趣

点击下载 关闭
【备份】指定地表余弦荷载求解地下指定深度应力响应Matlab程序

郭颖博士提供图片:

郭颖博士所提供文字:

第一个图是土力学中均布荷载平面问题的公式,这不是个静荷载问题的公式嘛,图二是我算的东西,荷载是周期函数,我想把静力的荷载弄成一个与周期函数一样的形式,把这个荷载分成很多小份之后那个小份类似一个均布荷载,然后算一下这个荷载作用时,1米深处-1.6到4.8之间的应力分布

应该要多算几个周期,然后就算中间这一块儿的应力分布

这个静荷载在峰值的时候是1,在x轴上时是0

程序主体:

clc
close
clear

% 郭颖博士提供信息以及程序备份:
% https://www.lofter.com/lpost/1fe74926_12db17c11

syms x xx beta

lampbda=6.4;
load(x)=cos((x+1.6)/lampbda*2*pi);

%此段如果有需要可以变成文本输入
%响应区段位置以及计算点位
dxx=0.2;%此处决定最后输出数据密集程度
xxbegin=-1.6;
xxend=4.8;

%简化为矩形荷载之后取左端点为代表值
dx=0.1;%荷载划分矩形区段
xbegin=-6.4;%荷载计算起始点
xend=6.4;%荷载计算终止点

%应力响应公式:
d_sigma_z(beta)=2*load/pi*(cos(beta))^2;

f = waitbar(0,'Please wait...');
steps=length([xxbegin:dxx:xxend]);

i=1;
for xx=xxbegin:dxx:xxend
    Sigma_total(i)=0;
    waitbar(i/steps,f,'Processing your data');
    for x=xbegin:dx:xend-dx
        temp=[atan(abs(x-xx)/1),atan(abs(x+dx-xx)/1)];
        beta1=min(temp);
        beta2=max(temp);
        Tempload=load(x);
        dSigma=int(2*Tempload/pi*(cos(beta))^2,beta1,beta2);
        Sigma_total(i)=Sigma_total(i)+dSigma;
    end
    i=i+1;
end

Sigma_total=double(Sigma_total);%此组数据即为最终所需数据
xdata=[xxbegin:dxx:xxend];%此组数据为对应x坐标

plot(xdata,Sigma_total);

输出结果:





推荐文章
评论(0)
分享到
转载我的主页