Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function main
- E=2e11;
- l=100e-3;
- b=10e-3;
- h=20e-3;
- F=10;
- n_el=4;
- n_Node=5;
- n_f=2;
- I=b*h^3/12;
- f=[ 0; 0; F; 0; 0; 2*F*l ; 0; -3*F*l; 0; 0 ];
- mInd=[1 2; 2 3; 3 4; 4 5];
- L=[l, l, l, l];
- node=2;
- Kg=zeros(n_Node*node)
- %Kg(4,1)=1;
- %Kg
- for i=1:n_el
- Ke=K_e(E,I,L(i));
- %for j=1:node
- %for k=1:node
- %Kg(mInd(i,j)-mInd(i,j), mInd(i,k)-mInd(i,k))=Kg(mInd(i,j)-mInd(i,j), mInd(i,k)-mInd(i,k))+Ke(j-j,k-k);
- %end
- %end
- 2*mInd(i,1)-1
- 2*mInd(i,1)
- 2*mInd(i,2)-1
- 2*mInd(i,2)
- %for j=1:node
- %for k=1:node
- Kg(2*mInd(i,1)-1, 2*mInd(i,1)-1)=Kg(2*mInd(i,1)-1, 2*mInd(i,1)-1)+Ke(1,1);
- Kg(2*mInd(i,1)-1, 2*mInd(i,1))=Kg(2*mInd(i,1)-1, 2*mInd(i,1))+Ke(1,2);
- Kg(2*mInd(i,1), 2*mInd(i,1)-1)=Kg(2*mInd(i,1), 2*mInd(i,1)-1)+Ke(2,1);
- Kg(2*mInd(i,1), 2*mInd(i,1))=Kg(2*mInd(i,1), 2*mInd(i,1))+Ke(2,2);
- Kg(2*mInd(i,1)-1, 2*mInd(i,2)-1)=Kg(2*mInd(i,1)-1, 2*mInd(i,2))-1+Ke(1,3);
- Kg(2*mInd(i,1)-1, 2*mInd(i,2))=Kg(2*mInd(i,1)-1, 2*mInd(i,2))+Ke(1,4);
- Kg(2*mInd(i,1), 2*mInd(i,2)-1)=Kg(2*mInd(i,1), 2*mInd(i,2)-1)+Ke(2,3);
- Kg(2*mInd(i,1), 2*mInd(i,2))=Kg(2*mInd(i,1), 2*mInd(i,2))+Ke(2,4);
- Kg(2*mInd(i,2)-1, 2*mInd(i,1)-1)=Kg(2*mInd(i,2)-1, 2*mInd(i,1))-1+Ke(3,1);
- Kg(2*mInd(i,2)-1, 2*mInd(i,1))=Kg(2*mInd(i,2)-1, 2*mInd(i,1))+Ke(3,2);
- Kg(2*mInd(i,2), 2*mInd(i,1)-1)=Kg(2*mInd(i,2), 2*mInd(i,1)-1)+Ke(4,1);
- Kg(2*mInd(i,2), 2*mInd(i,1))=Kg(2*mInd(i,2), 2*mInd(i,1))+Ke(4,2);
- Kg(2*mInd(i,2)-1, 2*mInd(i,2)-1)=Kg(2*mInd(i,2)-1, 2*mInd(i,2))-1+Ke(3,3);
- Kg(2*mInd(i,2)-1, 2*mInd(i,2))=Kg(2*mInd(i,2)-1, 2*mInd(i,2))+Ke(3,4);
- Kg(2*mInd(i,2), 2*mInd(i,2)-1)=Kg(2*mInd(i,2), 2*mInd(i,2)-1)+Ke(4,3);
- Kg(2*mInd(i,2), 2*mInd(i,2))=Kg(2*mInd(i,2), 2*mInd(i,2))+Ke(4,4);
- %Kg(mInd(i,1), mInd(i,2))=Kg(mInd(i,1), mInd(i,2))+Ke(1,2);
- %Kg(mInd(i,2), mInd(i,1))=Kg(mInd(i,2), mInd(i,1))+Ke(2,1);
- %Kg(mInd(i,2), mInd(i,2))=Kg(mInd(i,2), mInd(i,2))+Ke(2,2);
- %end
- %end
- end
- Kg
- freedom=[ 0; 0; 1; 1; 0; 1; 1; 1; 0; 0];
- for i=1:length(freedom)
- if(freedom(i)==0)
- Kg(i,:)=0;
- Kg(:,i)=0;
- Kg(i,i)=Kg(i,i);
- end
- %Kg
- end
- %Kg
- %Kg(1,1)=1;
- %Kg
- K_mod=Kg
- U=pinv(K_mod)*f
- end
- function Ke=K_e(E, I, L)
- Ke=[12*E*I/L^3 6*E*I/L^2 -12*E*I/L^3 6*E*I/L^2;
- 6*E*I/L^2 4*E*I/L -6*E*I/L^2 2*E*I/L;
- -12*E*I/L^3 -6*E*I/L^2 12*E*I/L^3 -6*E*I/L^2;
- 6*E*I/L^2 2*E*I/L -6*E*I/L^2 4*E*I/L;];
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement