1、2. 求其弯矩、转角和挠度。已知 L2m, q=1000N/m, =900Nm, E=200* N/m, I=2*0M910。4610m从材料力学的知识可知道,由弯矩求转角要经过一次不定积分,而由转角求挠度又要经过一次不定积分,通常这是很麻烦而且容易出错的,而在 MATLAB 中,可用 cumsum 函数或cumtrapz 函数作近似的不定积分,只要 x 取得足够密,其结果将相当准确,而程序非常简单。由平衡方程可求出支撑反力 和 :Nab,LqLNa/)432(0abqL2故各段弯矩方程为:, 1xMa20Lx, 02)(LNb43, 3xLx对 M/EI 作积分,得转角一次积分,得到挠度 Y
2、,每次积分都要出现一个待定积分常数:1010)(CxAdxEIMA此处设 。EIdcumtrapz/*)( 21021020 )()( CxYCxdAxYx 此处设 。Actrzx)()(0两个待定积分常数 和 可由边界条件 Y(0)=0 及 Y(L)=0 确定:1C2)(20Y01LL于是可得: )(0021YCMATLAB 程序如下:L=2;q=1000;M0=900;E=200e9;I=2e-6;Na=(3*q*L2/8-M0)/L; Nb=q*L/2-Na; x=linspace(0,L,101); dx=L/100;M1=Na*x(1:51)-q*x(1:51).2/2; %分 3
3、段用数组列出 M 的表达式M2=Nb*(L-x(52:76)-M0;M3=Nb*(L-x(77:101);M=M1,M2,M3;A0=cumtrapz(M)*dx/(E*I); %由 M 积分求转角( 未记积分常数)Y0=cumtrapz(A0)*dx; %由转角积分求挠度(未记积分常数 )C=0,1;L,1-Y0(1);-Y0(101); %由边界条件求积分常数A=A0+C(1);Y=Y0+C(1)*x+C(2); %求转角和挠度的完整值subplot(3,1,1); plot(x, M); grid on;subplot(3,1,2); plot(x, A); grid on;subplo
4、t(3,1,3); plot(x, Y); grid on;运行程序: L=2;q=1000;M0=900;E=200e9;I=2e-6;Na=(3*q*L2/8-M0)/L;Nb=q*L/2-Na; x=linspace(0,L,101);dx=L/100;M1=Na*x(1:51)-q*x(1:51).2/2; %分 3 段用数组列出 M 的表达式M2=Nb*(L-x(52:76)-M0;M3=Nb*(L-x(77:101);M=M1,M2,M3;A0=cumtrapz(M)*dx/(E*I); %由 M 积分求转角( 未记积分常数)Y0=cumtrapz(A0)*dx; %由转角积分求挠度(未记积分常数 )C=0,1;L,1-Y0(1);-Y0(101)C =1.0e-003 *0.14620 A=A0+C(1);Y=Y0+C(1)*x+C(2); %求转角和挠度的完整值subplot(3,1,1); %把图形窗口分割成 3*1 个子窗口,在第一个作图plot(x, M); %做 M 对 x 的函数图象grid on; %栅格线subplot(3,1,2); plot(x, A); grid on;subplot(3,1,3); plot(x, Y); grid on结果图片如下: