clear; %清除内存变量
ss1=input(give a data filename:,s);
fp1=fopen(ss1,r);
ss2=input(give a result filename:,s);
fp2=fopen(ss2,w);
%1.读入结构数据、建立累积约束表向量、建立结构刚度矩阵
%1.1.结构参数和弹性模量
[m,c]=fscanf(fp1,%u,[1]); %杆件数
[nj,c]=fscanf(fp1,%u,[1]); %节点数
[nrj,c]=fscanf(fp1,%u,[1]); %约束节点
[e,c]=fscanf(fp1,%e,[1]); %弹性模量
fprintf(fp2,(1) 结构参数和弹性模量 \n);
fprintf(fp2, 杆件数 节点数 约束节点数 弹性模量 \n);
fprintf(fp2,%3u %8u %8u %13.3e\n,m,nj,nrj,e);
fprintf(fp2,\n);
%1.2. 节点坐标
pc(1:2,1:nj)=0
for jx=1:nj
[k,c]=fscanf(fp1,%u,[1]); %节点号
[pc(:,k),c]=fscanf(fp1,%f,[2]); %x 坐标、 y 坐标
end
fprintf(fp2,(2) 节点坐标 \n);
fprintf(fp2, 节点号 x 坐标 y 坐标 \n);
fprintf(fp2,%3u %13.3e %13.3e\n,[1:nj;pc(:,1:nj)]);
fprintf(fp2,\n);
%1.3.杆件标号与截面特性
jj(1:m)=0; jk(1:m)=0; ax(1:m)=0; iz(1:m)=0;
for imx=1:m
[k,c]=fscanf(fp1,%u,[1]); %杆件号
[jj(k),c]=fscanf(fp1,%u,[1]); %j 端点号
[jk(k),c]=fscanf(fp1,%u,[1]); %k 端点号
[ax(k),c]=fscanf(fp1,%f,[1]); %截面积
[iz(k),c]=fscanf(fp1,%f\n,[1]); %杆件号
end
fprintf(fp2,(3) 杆件标号与截面特性 \n);
fprintf(fp2, 杆件号 j 端点号 k 端点号 截面积 截面惯性矩 \n);
fprintf(fp2,%3u %8u%8u %13.3e%13.3e\n,[1:m;jj(1:m);jk(1:m);ax(1:m);iz(1:m)]);
fprintf(fp2,\n);
%1.4.di 和 dj 取值
di(1:m)=0; dj(1:m)=0;
for imx=1:m
[k1(imx),c]=fscanf(fp1,%u,[1]);
[di(k1(imx)),c]=fscanf(fp1,%f,[1]);
[dj(k1(imx)),c]=fscanf(fp1,%f,[1]);
end
fprintf(fp2,(4) 杆件标号与两端刚域 \n);
fprintf(fp2, 杆件号 j 端刚域 k 端刚域 \n);
fprintf(fp2,%3u %13.3e %13.3e\n,[1:m;di(1:m);dj(1:m)]);
fprintf(fp2,\n);
%1.5.节点约束情况
fprintf(fp2,(5) 节点约束情况 \n);
fprintf(fp2, 受约束点号 x 向约束情况 y 向约束情况 z 约束情况 \n);
rl(1:3*nj)=0;
for jx=1:nrj
[k,c]=fscanf(fp1,%u,[1]); %受约束节点号
[rl(3*k-2:3*k),c]=fscanf(fp1,%f,[3]); %x 向约束情况 y 向约束情况 z 约束情况
fprintf(fp2,%5u
原创力文档

文档评论(0)