24小时热门版块排行榜    

查看: 1150  |  回复: 8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

godchenkun

银虫 (正式写手)

[求助] 新手求助matlab读入文件格式设置及画三维图 已有1人参与

matlab菜鸟一枚,求教高手指导:
从如下两种格式的txt文件读入文件:
格式一:
s axis  -2.50000E+01 to -2.45000E+01
t axis  -2.50000E+01 to -2.45000E+01
            1.00537E-06   0.4723

s axis  -2.50000E+01 to -2.45000E+01
t axis  -2.45000E+01 to -2.40000E+01
            1.03832E-06   0.4831
...省略很多行

格式二:
direct ray-trace source image flux
s axis  -2.50000E+01 to -2.45000E+01
t axis  -2.50000E+01 to -2.45000E+01
            1.00537E-06   0.4723

direct ray-trace source image flux
s axis  -2.50000E+01 to -2.45000E+01
t axis  -2.45000E+01 to -2.40000E+01
            1.03832E-06   0.4831
...省略很多行

目标:s axis行的两个数值取平均作为x坐标,t axis行两数值取平均作为y坐标,t axis行下一行第一个数据作为z坐标,画三维曲面。
          我的想法是将x、y、z坐标存入三个数组,然后mesh或surface,但不知道怎么写读入文件的格式来达到上述目的。
         两个文件样本在附件,请高手教我,谢谢。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

godchenkun

银虫 (正式写手)

引用回帖:
3楼: Originally posted by mygt_hit at 2015-04-20 12:59:25
假定第一个文件名Data1.txt,第二个文件名Data2.txt,如下的代码分别读取这两个文件中的数字,存在MyData1和MyData2中,每一组6个数,接下来的你自己处理一下吧。

fid1 = fopen('Data1.txt');
MyData1 = textsc ...

你好,我用你的方法试过了,确实能读取文件中的数据,但是我用下列语句提取列向量时遇到错误:

x1=MyData1(:,1);
x2=MyData1(:,2);
y1=MyData1(:,3);
y2=MyData1(:,4);
z=MyData1(:,5);
x=(x1+x2)/2;y=(y1+y2)/2;

到这里,提示加法不能用于cell的运算,也就是提取出来的列还是矩阵格式不是向量格式?不知道是不是这个意思,有什么办法可以解决呢。。。
4楼2015-04-20 16:28:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

godchenkun

银虫 (正式写手)

纠正一下,是将xyz存入三个矩阵,不是数组。
2楼2015-04-20 10:42:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mygt_hit

专家顾问 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
godchenkun: 金币+5, ★★★★★最佳答案 2015-04-20 14:20:12
假定第一个文件名Data1.txt,第二个文件名Data2.txt,如下的代码分别读取这两个文件中的数字,存在MyData1和MyData2中,每一组6个数,接下来的你自己处理一下吧。

fid1 = fopen('Data1.txt');
MyData1 = textscan(fid1,'%*s %*s %f %*s %f \r\n %*s %*s %f %*s %f \r\n %f %f \r\n');
fclose(fid1);

fid2 = fopen('Data2.txt');
N = 1;
while ~feof(fid2)
    fgetl(fid2);
    MyData2{N} = textscan(fid1,'%*s %*s %f %*s %f \r\n %*s %*s %f %*s %f \r\n %f %f \r\n');
    N = N + 1;
end
fclose(fid2);
知其然,知其所以然。
3楼2015-04-20 12:59:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mygt_hit

专家顾问 (职业作家)

引用回帖:
4楼: Originally posted by godchenkun at 2015-04-20 16:28:11
你好,我用你的方法试过了,确实能读取文件中的数据,但是我用下列语句提取列向量时遇到错误:

x1=MyData1(:,1);
x2=MyData1(:,2);
y1=MyData1(:,3);
y2=MyData1(:,4);
z=MyData1(:,5);
x=(x1+x2)/2;y=(y1 ...

将MyData1后面的圆括号改为花括号就可以了。圆括号提出来的是cell格式,花括号是提取cell中的内容,具体到这里就是向量或矩阵,就可以直接运算了。
知其然,知其所以然。
5楼2015-04-20 18:30:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 本人考085602 化学工程 专硕 +18 不知道叫什么! 2026-03-15 20/1000 2026-03-20 13:52 by danney002
[考研] 279分求调剂 一志愿211 +9 chaojifeixia 2026-03-19 10/500 2026-03-20 12:29 by lature00
[考研] 08工学调剂 +4 用户573181 2026-03-20 4/200 2026-03-20 10:32 by 朗月清风1
[考研] 梁成伟老师课题组欢迎你的加入 +9 一鸭鸭哟 2026-03-14 11/550 2026-03-19 17:22 by !本暗一次!
[考研] 085601材料工程专硕求调剂 +10 慕寒mio 2026-03-16 10/500 2026-03-19 15:26 by 丁丁*
[考研] 085600材料与化工调剂 324分 +10 llllkkkhh 2026-03-18 12/600 2026-03-19 14:33 by llllkkkhh
[考研] 0817调剂 +3 没有答案_ 2026-03-14 3/150 2026-03-19 09:51 by Xu de nuo
[考研] 085600材料与化工 +5 安全上岸! 2026-03-16 5/250 2026-03-18 15:33 by cmz0325
[考研] 311求调剂 +6 26研0 2026-03-15 6/300 2026-03-18 14:43 by haxia
[考研] 0854可跨调剂,一作一项核心论文五项专利,省、国级证书40+数一英一287 +8 小李0854 2026-03-16 8/400 2026-03-18 14:35 by 搏击518
[考研] 297求调剂 +8 戏精丹丹丹 2026-03-17 8/400 2026-03-18 14:30 by laoshidan
[考研] 0854,计算机类招收调剂 +3 胡辣汤放糖 2026-03-15 6/300 2026-03-18 12:09 by 上岸上岸……..
[基金申请] 被我言中:新模板不强调格式了,假专家开始管格式了 +4 beefly 2026-03-14 4/200 2026-03-17 22:04 by 黄鸟于飞Chao
[考研] 268求调剂 +8 一定有学上- 2026-03-14 9/450 2026-03-17 17:47 by laoshidan
[硕博家园] 湖北工业大学 生命科学与健康学院-课题组招收2026级食品/生物方向硕士 +3 1喜春8 2026-03-17 5/250 2026-03-17 17:18 by ber川cool子
[考研] 290求调剂 +3 p asserby. 2026-03-15 4/200 2026-03-17 16:35 by wangkm
[考研] 有没有道铁/土木的想调剂南林,给自己招师弟中~ +3 TqlXswl 2026-03-16 7/350 2026-03-17 15:23 by TqlXswl
[论文投稿] 有没有大佬发小论文能带我个二作 +3 增锐漏人 2026-03-17 4/200 2026-03-17 09:26 by xs74101122
[考研] 一志愿,福州大学材料专硕339分求调剂 +3 木子momo青争 2026-03-15 3/150 2026-03-17 07:52 by laoshidan
[考研] 321求调剂 +5 大米饭! 2026-03-15 5/250 2026-03-16 16:33 by houyaoxu
信息提示
请填处理意见