Advertisement
Guest User

Untitled

a guest
Dec 14th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 2.25 KB | None | 0 0
  1. function main
  2. E=2e11;
  3. l=100e-3;
  4. b=10e-3;
  5. h=20e-3;
  6. F=10;
  7. n_el=4;
  8. n_Node=5;
  9. n_f=2;
  10. I=b*h^3/12;
  11. f=[ 0; 0; F; 0; 0; 2*F*l ; 0; -3*F*l; 0; 0 ];
  12. mInd=[1 2; 2 3; 3 4; 4 5];
  13. L=[l, l, l, l];
  14. node=2;
  15.  
  16. Kg=zeros(n_Node*node)
  17. %Kg(4,1)=1;
  18. %Kg
  19.  
  20. for i=1:n_el
  21. Ke=K_e(E,I,L(i));
  22.  
  23. %for j=1:node
  24. %for k=1:node
  25. %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);
  26. %end
  27. %end
  28.  
  29. 2*mInd(i,1)-1
  30. 2*mInd(i,1)
  31. 2*mInd(i,2)-1
  32. 2*mInd(i,2)
  33. %for j=1:node
  34. %for k=1:node
  35. 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);
  36. Kg(2*mInd(i,1)-1, 2*mInd(i,1))=Kg(2*mInd(i,1)-1, 2*mInd(i,1))+Ke(1,2);
  37. Kg(2*mInd(i,1), 2*mInd(i,1)-1)=Kg(2*mInd(i,1), 2*mInd(i,1)-1)+Ke(2,1);
  38. Kg(2*mInd(i,1), 2*mInd(i,1))=Kg(2*mInd(i,1), 2*mInd(i,1))+Ke(2,2);
  39.  
  40. 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);
  41. Kg(2*mInd(i,1)-1, 2*mInd(i,2))=Kg(2*mInd(i,1)-1, 2*mInd(i,2))+Ke(1,4);
  42. Kg(2*mInd(i,1), 2*mInd(i,2)-1)=Kg(2*mInd(i,1), 2*mInd(i,2)-1)+Ke(2,3);
  43. Kg(2*mInd(i,1), 2*mInd(i,2))=Kg(2*mInd(i,1), 2*mInd(i,2))+Ke(2,4);
  44.  
  45. 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);
  46. Kg(2*mInd(i,2)-1, 2*mInd(i,1))=Kg(2*mInd(i,2)-1, 2*mInd(i,1))+Ke(3,2);
  47. Kg(2*mInd(i,2), 2*mInd(i,1)-1)=Kg(2*mInd(i,2), 2*mInd(i,1)-1)+Ke(4,1);
  48. Kg(2*mInd(i,2), 2*mInd(i,1))=Kg(2*mInd(i,2), 2*mInd(i,1))+Ke(4,2);
  49.  
  50. 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);
  51. Kg(2*mInd(i,2)-1, 2*mInd(i,2))=Kg(2*mInd(i,2)-1, 2*mInd(i,2))+Ke(3,4);
  52. Kg(2*mInd(i,2), 2*mInd(i,2)-1)=Kg(2*mInd(i,2), 2*mInd(i,2)-1)+Ke(4,3);
  53. Kg(2*mInd(i,2), 2*mInd(i,2))=Kg(2*mInd(i,2), 2*mInd(i,2))+Ke(4,4);
  54.  
  55. %Kg(mInd(i,1), mInd(i,2))=Kg(mInd(i,1), mInd(i,2))+Ke(1,2);
  56. %Kg(mInd(i,2), mInd(i,1))=Kg(mInd(i,2), mInd(i,1))+Ke(2,1);
  57. %Kg(mInd(i,2), mInd(i,2))=Kg(mInd(i,2), mInd(i,2))+Ke(2,2);
  58. %end
  59. %end
  60.  
  61. end
  62.  
  63. Kg
  64.  
  65. freedom=[ 0; 0; 1; 1; 0; 1; 1; 1; 0; 0];
  66. for i=1:length(freedom)
  67. if(freedom(i)==0)
  68.  Kg(i,:)=0;
  69.  Kg(:,i)=0;
  70.  Kg(i,i)=Kg(i,i);
  71. end
  72. %Kg
  73. end
  74.  
  75. %Kg
  76. %Kg(1,1)=1;
  77. %Kg
  78.  
  79. K_mod=Kg
  80. U=pinv(K_mod)*f
  81. end
  82. function Ke=K_e(E, I, L)
  83. Ke=[12*E*I/L^3 6*E*I/L^2 -12*E*I/L^3 6*E*I/L^2;
  84.  6*E*I/L^2 4*E*I/L -6*E*I/L^2 2*E*I/L;
  85.  -12*E*I/L^3 -6*E*I/L^2 12*E*I/L^3 -6*E*I/L^2;
  86.  6*E*I/L^2 2*E*I/L -6*E*I/L^2 4*E*I/L;];
  87. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement