⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fiinput.m

📁 基于力密度法的索杆张力结构找形程序
💻 M
字号:
function [nodenum,nodefree,nodefix,cab_num,node_all,nfix_n,cab_all,node_no,node_x,node_y,node_z,fx,fy,fz,cab_n,cab_i,cab_j,E,Real,Area,Etype,barinfor,filename1]=fiinput
%从数据文件中读入数据-------------------------------------------
%数据格式为:
%nodenum                           -----节点总数
%nodefree                          -----自由节点总数
%nodefix                           -----约束节点总数
%cab_num                           -----杆件总数
%node_no   node_x    node_y     node_z  fx fy fz   ---节点号  节点x坐标  节点y坐标  节点z坐标 y 
%nfix_n                            -----约束节点号
%cab_n    cab_i   cab_j   E Real Area Etype             ---杆件号     杆件左节点号    杆件右节点号

[filename1,pathname]=uigetfile('*.txt','输入数据文件含有_date的文本文件 ');
fid=fopen(filename1,'rt');             %数据文件名为:tnnd
if fid<0
    errordlg({'文件打开出错'});
else
    %如果文件已经打开
    frewind(fid)
    nodenum=fscanf(fid,'%f',[1,1]);
    nodefree=fscanf(fid,'%f',[1,1]);
    nodefix=fscanf(fid,'%f',[1,1]);
    cab_num=fscanf(fid,'%f',[1,1]);
    node_all=fscanf(fid,'%f',[7,nodenum]);
    nfix_n=fscanf(fid,'%f',[nodefix,1]);
    cab_all=fscanf(fid,'%f',[7,cab_num]);
end
fclose(fid);

node_all=node_all';        %----nfix_all存放有关节点坐标的所有项
cab_all=cab_all';          %----cab_all存放有关杆件的所有项
node_no=node_all(:,[1]);
node_x=node_all(:,[2]);
node_y=node_all(:,[3]);
node_z=node_all(:,[4]);
fx=node_all(:,[5]);
fy=node_all(:,[6]);
fz=node_all(:,[7]);

cab_n=cab_all(:,[1]);
cab_i=cab_all(:,[2]);
cab_j=cab_all(:,[3]);
E=cab_all(:,[4]);
Real=cab_all(:,[5]);
Area=cab_all(:,[6]);
Etype=cab_all(:,[7])-1;           %etype的值为0 为压杆, 1为拉索,其输入值则1为压杆,2为拉索

%读入杆件的信息压杆或者拉索
barinfor=[cab_n';Etype']';

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -