- 积分
- 0
- 注册时间
- 2011-1-10
- 仿真币
-
- 最后登录
- 1970-1-1
|
发表于 2013-8-27 14:19:04
|
显示全部楼层
来自 美国
zgpkaoyan2010 发表于 2013-8-26 21:30
lz你好,看了你的这个帖子,用matlab提交job这一步我已经实现,非常感谢!
现在我想用matlab把dat文件读 ...
可以用matlab的regular expression去读取DAT文件,贴一段当时的CODE供参考:
abaqus_raw=extractDAT('nlvisco.dat');
function abaqus_raw = extractDAT(filename)
fid=fopen(filename,'r');
if fid==-1
abaqus_raw=[];
return
end
frewind(fid);
abaqus_raw=[];
idx=1;
while feof(fid)==0
str=fgetl(fid);
s1=regexp(str,'TOTAL TIME COMPLETED +(?<time>\S+)','names');
if ~isempty(s1)
abaqus_raw(idx,1)=str2double(s1.time);
end
s2=regexp(str,'S11 +S22 +S33 +S12','match');
if ~isempty(s2)
fgetl(fid);
fgetl(fid);
str=fgetl(fid);
s2=regexp(str,'\s+(?<pt>\S+)\s+(?<fn>\S+)\s+(?<s11>\S+)\s+(?<s22>\S+)\s+(?<s33>\S+)\s+(?<s12>\S+)','names');
abaqus_raw(idx,2)=str2double(s2.s22);
end
if ~isempty(s2)
idx=idx+1;
end
end
fclose(fid);
end
|
评分
-
1
查看全部评分
-
|