clear all;close all;clc; %SI:m,kN,kPa h=0.007;b=0.3; E=3e7;A=b*h;I=b*h^3/12;v=0.2; G=E*0.5/(1+v); EI=E*I; GA=G*A; L=5;%杆件长度 Ele_L=0.01;%单元尺寸 ele_num=L/Ele_L;%单元个数 q=1;%1kN/m W=q*L^4/(8*EI)%材料力学挠度计算公式 linetype={'-','--','-.'} figure; hold on; for way=1:3 for i=1:ele_num if way==1 ke(:,:,i)=BeamElementStiffness(EI,Ele_L);%欧拉梁单元 elseif way==2 ke(:,:,i)=TimoshenkoStiffness(EI,GA,Ele_L);%完全积分铁木辛柯梁单元(剪切自锁现象) elseif way==3 ke(:,:,i)=TimoshenkoReduceStiffness(EI,GA,Ele_L);%减缩积分铁木辛柯梁单元 end end K=zeros((ele_num+1)*2); for i=1:ele_num K=BeamAssemble(K,ke(:,:,i),i,i+1); %全局刚度矩阵 end k=[K(3:(ele_num+1)*2,3:(ele_num+1)*2)]; %***去除约束对应的刚度矩阵 f=zeros(2*(ele_num),1); %节点力f for i=1:ele_num f(2*(i-1)+1)=q*Ele_L;%****分布力大小为1*单元长度就是每个单元节点上的节点力,均布荷载转节点力 end u=k\f; U=zeros((ele_num+1)*2,1);%节点位移 U(3:(ele_num+1)*2)=u;% for i=1:ele_num Fe(i,:)=ke(:,:,i)*U((i-1)*2+1:(i-1)*2+4); %单元力=单元刚度矩阵*节点位移 end % F=K*U; %全局刚度矩阵*节点位移=节点力 x = [0 : Ele_L:L]'; % figure; % M=Fe(:,2); % M(ele_num+1)=-Fe(end,4); % hold on; % title('Bending Moment Diagram'); % plot(x,M); % y1 = zeros(1,ele_num+1); % plot(x,y1,'k') % xlabel('length') % ylabel('Moment') % title('moment diagram with constant thickness'); title('Displacment Diagram'); for i=1:length(x) disp_plot_constant(i)=U(2*(i-1)+1); end aa=plot(x,disp_plot_constant,linetype{way},'linewidth',2); aa.Color(4)=0.5 % figure; % hold on; % title('Rotation Diagram'); % for i=1:length(x) % rot_plot_constant(i)=U(2*(i)); % end % plot(x,rot_plot_constant); % save data disp_plot_constant end legend('欧拉梁','铁木辛柯梁-完全积分','铁木辛柯梁-减缩积分');