求杆件微小位移   我好不容易弄好的
			 
			 
			
		
		
		
			
			先save文件data.txt内容为2             
                                 -1  0  2.0e11  0.1 
                                  0  1   2.0e11  0.1 
                                  0  0            
                                  100  -100       
运行:fid=fopen('data1.txt','rt'); 
ne=fscanf(fid,'%d',1); 
x(ne)=0; 
y(ne)=0; 
E(ne)=0; 
A(ne)=0; 
for  i=1:ne 
x(i)=fscanf(fid,'%f',1); 
y(i)=fscanf(fid,'%f',1); 
E(i)=fscanf(fid,'%f',1); 
A(i)=fscanf(fid,'%f',1); 
end 
x0=fscanf(fid,'%f',1); 
y0=fscanf(fid,'%f',1); 
p=zeros(2,1); 
p(1)=fscanf(fid,'%f',1); 
p(2)=fscanf(fid,'%f',1); 
fclose(fid); 
k=zeros(2,2); 
for  i=1:ne 
dx=x0-x(i); 
dy=y0-y(i); 
L(i)=sqrt(dx*dx+dy*dy); 
C(i)=dx/L(i); 
S(i)=dy/L(i); 
ke=E(i)*A(i)/L(i); 
k(1,1)=k(1,1)+ke*C(i)*C(i); 
k(1,2)=k(1,2)+ke*C(i)*S(i); 
k(2,1)=k(2,1)+ke*S(i)*C(i); 
k(2,2)=k(2,2)+ke*S(i)*S(i); 
end 
uv=k\p; 
dL(ne)=0; 
N(ne)=0; 
for  i=1:ne 
dL(i)=uv(1)*C(i)+uv(2)*S(i); 
N(i)=E(i)*A(i)/L(i)*dL(i); 
end 
dL 
N
		 
		
		
		
		
		
		
		
	 |