zdltwo 发表于 2008-3-3 20:23

写文件时的格式问题

有两个向量Time,Final_b
Time=
Final_b=

将这两个向量写到一个txt文档中,程序如下
fid=fopen('BVT.txt','w');
fprintf(fid,'%8.0f %6.4f\n',Time,Final_b);
fclose(fid);
type BVT.txt
得到的文件格式是这样的:
19810101 19810301.0000
19810501 19810701.0000
19810901 19811101.0000
19820101 19820301.0000
               1 0.6604
               1 0.6123
               1 0.6490
               1 0.6899
               1 0.6452
               1 0.6572
               1 0.5941
               1 0.5386
我将前面两个向量合并成一个
TimeB=;
将fprintf(fid,'%8.0f %6.4f\n',Time,Final_b);改为fprintf(fid,'%8.0f %6.4f\n',TimeB);
得到的仍是那样
应该 如何改,才能让这两个向量中的数据一一对应显示呢?

zdltwo 发表于 2008-3-3 20:34

更正一下,开始时的向量均为列向量。
应该把它们都转为行向量。
但是转化为行向量之后,得到的是科学记数法形式,以至于Final_b中的值都显示为零

eight 发表于 2008-3-3 20:34

原帖由 zdltwo 于 2008-3-3 20:23 发表 http://www.chinavib.com/forum/images/common/back.gif
有两个向量Time,Final_b
Time=
Final_b=
大家的编程能力不强,这个不能怪的,但是表达能力为何就这么弱呢?你的问题我看得不是太懂,如果我没有理解错你的意思,你应该是希望如下这样的,但是我会这样表达:

标题:如何把两个向量按照分量对应的格式写入文本文件呢?
内容:假设 a = , b = [-1,-2,-3,-4],执行以下代码后,得到的结果如下:
你的代码结果在txt文件中显示:
1 2
3 4
-1 -2
-3 -4

而我希望得到的结果是:
1 -1
2 -2
3 -3
4 -4

我尝试把程序修改成以下的代码,但是仍然不奏效,请问应该如何正确修改?谢谢!你的修改代码

这样表达是否清楚、简单、明了得多呢?

[ 本帖最后由 eight 于 2008-3-3 20:38 编辑 ]

zdltwo 发表于 2008-3-3 20:36

198012 0.8300
198102 0.7868
198104 0.6789
198106 0.6733
198108 0.7331
198110 0.7533
198112 0.6978
198202 0.7223
198204 0.7519
198206 0.7090
198208 0.6926
198210 0.6572
198212 0.6372
198302 0.6436
198304 0.6862
198306 0.6551
198308 0.6671
198310 0.6662
198312 0.7371
198402 0.8964
问题就是这样的文件是怎么写进去的?
fprintf语句应该怎么写?

eight 发表于 2008-3-3 20:38

原帖由 zdltwo 于 2008-3-3 20:36 发表 http://www.chinavib.com/forum/images/common/back.gif
198012 0.8300
198102 0.7868
198104 0.6789
198106 0.6733
198108 0.7331
198110 0.7533
198112 0.6978
198202 0.7223
198204 0.7519
198206 0.7090
198208 0.6926
198210 0.6572
198212 0.6372
19830 ...

你看你1楼的数据和你4楼的结果是否一致?

dearcleo 发表于 2008-3-14 17:50

把你的两个列向量Time,Final_b合成一个向量,然后转置一下,再读,就OK了

[ 本帖最后由 dearcleo 于 2008-3-14 17:52 编辑 ]
页: [1]
查看完整版本: 写文件时的格式问题