24小时热门版块排行榜    

查看: 1481  |  回复: 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的回帖

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的回帖
查看全部 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的回帖

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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 hKe7U1kad5Sg 2026-10-31 9/450 2026-11-02 06:13 by xzcv0Tehd8lQ
[论文投稿] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +4 xvJS1BYDxvBS 2026-10-31 10/500 2026-11-02 06:00 by xzcv0Tehd8lQ
[论文投稿] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +4 1uaZt2kAZj2S 2026-10-30 14/700 2026-11-02 05:41 by xzcv0Tehd8lQ
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 1uaZt2kAZj2S 2026-10-30 21/1050 2026-11-02 05:41 by xzcv0Tehd8lQ
[硕博家园] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 hKe7U1kad5Sg 2026-10-31 6/300 2026-11-02 03:37 by xzcv0Tehd8lQ
[找工作] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +5 1uaZt2kAZj2S 2026-10-31 9/450 2026-11-02 03:05 by xzcv0Tehd8lQ
[公派出国] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +6 1uaZt2kAZj2S 2026-10-31 9/450 2026-11-02 03:00 by xzcv0Tehd8lQ
[找工作] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 hKe7U1kad5Sg 2026-10-31 5/250 2026-11-01 22:27 by xzcv0Tehd8lQ
[博后之家] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 hKe7U1kad5Sg 2026-10-31 5/250 2026-11-01 22:24 by xzcv0Tehd8lQ
[考博] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 xvJS1BYDxvBS 2026-10-31 7/350 2026-11-01 22:01 by xzcv0Tehd8lQ
[教师之家] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +6 X5bHxOULxFqb 2026-10-30 16/800 2026-11-01 21:19 by xzcv0Tehd8lQ
[考研] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 hKe7U1kad5Sg 2026-10-31 6/300 2026-11-01 19:50 by xzcv0Tehd8lQ
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +5 X5bHxOULxFqb 2026-10-30 22/1100 2026-11-01 16:35 by BCdvBAEpt3zm
[硕博家园] 越来越担心硕士毕业后没有竞争力了 +9 zuesli 2026-10-27 15/750 2026-11-01 12:59 by Equinoxhua
[基金申请] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 xvJS1BYDxvBS 2026-10-31 3/150 2026-11-01 12:53 by BCdvBAEpt3zm
[考研] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 1uaZt2kAZj2S 2026-10-31 8/400 2026-11-01 12:38 by BCdvBAEpt3zm
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +4 1uaZt2kAZj2S 2026-10-30 17/850 2026-11-01 12:24 by BCdvBAEpt3zm
[基金申请] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 1uaZt2kAZj2S 2026-10-30 11/550 2026-11-01 12:24 by BCdvBAEpt3zm
[考研] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 1uaZt2kAZj2S 2026-10-30 16/800 2026-11-01 12:14 by BCdvBAEpt3zm
[考博] 2027博士申请-临床检验诊断学、病原生物学、微生物方向 50+3 yyh@ 2026-10-28 4/200 2026-10-31 12:47 by 可淡不可忘
信息提示
请填处理意见