Guest User

Untitled

a guest
Apr 23rd, 2013
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 3.91 KB | None | 0 0
  1. CODE
  2. clc
  3. clear all
  4. format long
  5.  
  6. EI=2400;
  7. L=1;
  8. qo=-600;
  9.  
  10. % elements
  11. n=[1,2,4,10,30,50,100];
  12.  
  13. for division=7
  14.    
  15.     K=zeros(2*(n(division)+1));    
  16.     X=Linspace(0,1,n(division));
  17.     K_element=[12*EI/(L/n(division))^3,6*EI/(L/n(division))^2, -12*EI/(1/n(division))^3,6*EI/(1/n(division))^2;6*EI/(1/n(division))^2,4*EI/(L/n(division)),-6*EI/(1/n(division))^2,2*EI/(L/n(division));-12*EI/(L/n(division))^3,-6*EI/(1/n(division))^2,12*EI/(L/n(division))^3,-6*EI/(1/n(division))^2;6*EI/(1/n(division))^2,2*EI/(L/n(division)),-6*EI/(1/n(division))^2,4*EI/(L/n(division))];
  18.  
  19.  
  20.     % Boundary values of K
  21.     for i=1:2
  22.  
  23.         for j=1:4
  24.  
  25.             K(i,j)=K_element(i,j);              
  26.             K(i + 2*n(division),j + 2*n(division)-2)=K_element(i+2,j);
  27.         end
  28.     end
  29.  
  30.     % (2i-1)th values for K displacement
  31.     for i=3:2*n(division)
  32.         for j=1:2*n(division)+2
  33.             if mod(i,2)~=0
  34.                 if i==j+2
  35.                     K(i,j)=K_element(3,1);
  36.                 else if i==j+1
  37.                         K(i,j)=K_element(3,2);
  38.                     else if i==j
  39.                             K(i,j)=K_element(1,1)+K_element(3,3);
  40.                         else if i==j-1
  41.                                 K(i,j)=K_element(3,4)+K_element(1,2);
  42.                             else if i==j-2
  43.                                     K(i,j)=K_element(1,3);
  44.                                 else if i==j-3
  45.                                         K(i,j)=K_element(1,4);
  46.                                     else
  47.                                         K(i,j)=0;
  48.                                     end
  49.                                 end
  50.                             end
  51.                         end
  52.                     end
  53.                 end
  54.             end
  55.  
  56.             % 2ith values for angle
  57.             if mod(i,2)==0
  58.                 if i==j+3
  59.                     K(i,j)=K_element(4,1);
  60.                else if i==j+2
  61.                        K(i,j)=K_element(4,2);
  62.                    else if i==j+1
  63.                            K(i,j)=K_element(4,3)+ K_element(2,1);
  64.                        else if i==j
  65.                                K(i,j)=K_element(4,4)+K_element(2,2);
  66.                            else if i==j-1
  67.                                    K(i,j)=K_element(2,3);
  68.                                else if i==j-2
  69.                                        K(i,j)=K_element(2,4);
  70.                                    else
  71.                                        K(i,j)=0;
  72.                                    end
  73.                                end
  74.                            end
  75.                        end
  76.                    end
  77.                end
  78.            end
  79.         end
  80.     end
  81.    
  82.     K_backup=K;
  83.     % Boundary values for force and moment
  84.     F(1)=qo*L/(2*n(division));
  85.     F(2)=qo*(L/n(division))^2/12;
  86.     F(2*n(division)+1)=qo*L/(2*n(division));
  87.     F(2*n(division)+2)=-1*qo*(L/n(division))^2/12;
  88.    
  89.     % (2i-1)th and 2ith values for force and moment
  90.     for i=2:n(division)
  91.         F(2*i-1)=qo*L/n(division);
  92.         F(2*i)=0;        
  93.     end
  94.    
  95.    
  96.    
  97.    
  98.    
  99.     %K(:,2*n(division)+2)=[];
  100.     K(:,2*n(division)+1)=[];
  101.     %K(2*n(division)+2,:)=[];
  102.     K(2*n(division)+1,:)=[];
  103.    
  104.     %K(:,n(division)+1)=[];
  105.     %K(n(division)+1,:)=[];
  106.    
  107.     %K(:,2)=[];
  108.     K(:,1)=[];
  109.     %K(2,:)=[];
  110.     K(1,:)=[];
  111.    
  112.    
  113.     %F(2*n(division)+2)=[];
  114.     F(2*n(division)+1)=[];
  115.     %F(n(division)+1)=[];
  116.     %F(2)=[];
  117.     F(1)=[];
  118.    
  119.     d=K\F';
  120.    
  121.     % simple support
  122.     d1(1)=0;
  123.    
  124.     % simple support
  125.     %d1(n(division))=0;
  126.    
  127.     for i=1:n(division)-1
  128.         d1(i)=d(2*i);
  129.     end
  130.    
  131.     d1(n(division))=0;
  132.    
  133.     % simple support
  134.     % d1(n(division)/2+1)=0;
  135.    
  136.     % for i=(n(division)/2):n(division)-2
  137.     %    d1(i+2)=d(2*i+1);
  138.     % end
  139.    
  140.     % simple support
  141.     % d1(n(division)+1)=0;
  142.    
  143.     plot(X,d1)
  144.    
  145. end
Advertisement
Add Comment
Please, Sign In to add comment