用Nastran的时候,想把bdf文件里的节点坐标导出来,但是坐标的格式很奇怪,见下图:
会发现这种科学计数法中间没有字母E或e,直接用Matlab中的load函数读取的话,会出现N/A。
于是写了个函数解决这个问题,代码如下:
function [xx,yy,zz] = Node(filename)
fid = fopen(filename,'r');
text = textscan(fid,'%s %d %8s %8s %8s');
fclose(fid);
nodeId = text{1,2}; %节点编号
numNode = length(nodeId); %节点数量
index = 1;
while index <= numNode
x = strsplit(text{1,3}{index,1},'-');
y = strsplit(text{1,4}{index,1},'-');
z = strsplit(text{1,5}{index,1},'-');
[~,cx] = size(x);
[~,cy] = size(y);
[~,cz] = size(z);
switch cx
case 1
%
case 2
if ~isempty(x{1,1})
text{1,3}{