Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2012-03-14
年龄: 34
帖子: 8
声望力: 0 ![]() |
![]()
先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 |
![]() |
![]() |