clear all;close all;clc; E=210e3; % t=2;% I=1/12*100*t^3; L=5; ele_num=500/L; %*****变截面的特殊设置 for i=1:ele_num if i*5>=0 && i*5<200 t(i)=0.5+(i*5)*(3-0.5)/200; elseif i*5>=200 && i*5<300 t(i)=3; elseif i*5>=300 && i*5<=500 t(i)=3-(3-0.5)/200*(i*5-300); end I(i)=1/12*100*t(i)^3; end for i=1:ele_num ke(:,:,i)=BeamElementStiffness(E,I(i),L); %*****变截面梁的特殊设置 end K=zeros((ele_num+1)*2); for i=1:ele_num % ke=BeamElementStiffness(E,I,L); K=BeamAssemble(K,ke(:,:,i),i,i+1); end k=[K(3:(ele_num+1)*2-2,3:(ele_num+1)*2-2)]; f=zeros(2*(ele_num-1),1); f(ele_num-1)=-400; u=k\f; U=zeros((ele_num+1)*2,1); U(3:ele_num*2)=u; for i=1:ele_num Fe(i,:)=ke(:,:,i)*U((i-1)*2+1:(i-1)*2+4); end F=K*U; figure; x = [0 : L:500]'; 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(mm)') ylabel('Moment(N.mm)') title('moment diagram with varing thickness'); %plot disp figure; hold on; title('Displacment Diagram'); for i=1:length(x) disp_plot_vary(i)=U(2*(i-1)+1); end plot(x,disp_plot_vary);