function ke=ele_stiff_matrix(E_ID,Nodes,Elements,E,u,Width) ENodes(:,1) = Elements(E_ID,:); iN = size(ENodes,1); ke = zeros(2*iN,2*iN); D=[E/(1-u^2),u*E/(1-u^2),0; u*E/(1-u^2),E/(1-u^2),0; 0,0,E/(2*(1+u))]; % 计算高斯积分点坐标 r = [-sqrt(1/3) sqrt(1/3)]; % 2*2 高斯积分点 s = [r(1) r(1) r(2) r(2)]; t = [r(2) r(1) r(1) r(2)]; % 高斯积分点坐标 % 高斯积分计算单元刚度矩阵 for i=1:4 J = Jacobi(E_ID,s(i),t(i),Elements,Nodes); % 雅可比矩阵 Nst = DiffShapeFun(s(i),t(i)); % 形函数关于自然坐标s,t求导 Nxy = zeros(8,2); for j=1:8 Nxy(j,:) = (J\Nst(j,:)')'; % 形函数关于 x,y 求导=inv(J)*Nst end Bm = [Nxy(1,1) 0 Nxy(2,1) 0 Nxy(3,1) 0 Nxy(4,1) 0 Nxy(5,1) 0 Nxy(6,1) 0 Nxy(7,1) 0 Nxy(8,1) 0; 0 Nxy(1,2) 0 Nxy(2,2) 0 Nxy(3,2) 0 Nxy(4,2) 0 Nxy(5,2) 0 Nxy(6,2) 0 Nxy(7,2) 0 Nxy(8,2); Nxy(1,2) Nxy(1,1) Nxy(2,2) Nxy(2,1) Nxy(3,2) Nxy(3,1) Nxy(4,2) Nxy(4,1) Nxy(5,2) Nxy(5,1) Nxy(6,2) Nxy(6,1) Nxy(7,2) Nxy(7,1) Nxy(8,2) Nxy(8,1)]; ke = ke+det(J)*Bm'*D*Bm*Width; end end