MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   在Matlab中读取和重写 (https://www.labfans.com/bbs/showthread.php?t=23608)

poster 2019-12-10 20:42

在Matlab中读取和重写
 
[URL="https://stackoverflow.com/questions/1905061/how-do-i-write-a-text-file-in-the-same-format-that-it-is-read-in-matlab"]如何编写与在MATLAB中读取的格式相同的文本文件?[/URL]

我看了一下,我的问题与上述问题几乎相同。我想读取一个长度为84641 x 175的文件。

我想用84641 x 40创建一个新的.txt文件,删除其余的列。我有2次重写日期n次。日期位于格式6/26/2010的第一列上,而时间位于格式'00:00:04'的第二列上

当我使用上面问题中的代码时,我不断收到错误消息
[INDENT] ???使用==>整形时出错已知尺寸的乘积181,不能被元素总数14148175整除。

==>写入数据时出错=数据重整(data {1},N + 6,[])';

[/INDENT]当我评论这在日期和数据写入的printf语句中有错误。

有任何想法吗??谢谢



[B]回答:[/B]

作为您链接到的问题中[URL="https://stackoverflow.com/questions/1905061/how-do-i-write-a-text-file-in-the-same-format-that-it-is-read-in-matlab/1908361#1908361"]公认的答案[/URL]的作者,我将尽力解释我认为出了什么问题。

我的答案中的代码旨在从第一列中具有日期XX/XX/XXXX ,第二列中具有时间XX:XX:XX以及其他N列数据的文件中读取数据。

你列出元素的个数data为14812175,这是整除由175这意味着,输入数据文件有2列的日期和时间,然后数据的额外的169列。该值169是您必须用于N 。从输入文件中读取日期和时间列时,它们分为3列,每列包含3个data (总共6列),将它们添加到169个其他数据列中后,您得到175个。

重塑后, data大小应为84641×175。前6列包含日期和时间值。如果要将日期,时间和其他数据的前40列写到一个新文件中,则只需在我的答案中更改一行代码。这行:

fprintf(fid,', %.1f',data(i,7:end)); %# Output all columns of data 应更改为:

fprintf(fid,', %.1f',data(i,7:46)); %# Output first 40 columns of data

[url=https://stackoverflow.com/questions/3142240]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 23:32

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.