大家好我需要在matlab中运行脚本时自动导入存储在计算机中的某些文本文件作为矩阵。我怎么做?谢谢
答案 0 :(得分:2)
虽然这个问题没什么用,但是我想起了我是如何开始时对输入或输出一无所知的,它确实是一个非常密集的信息森林。
基本上要读取您需要的文件:
MatLab中的一些功能负责所有三个步骤:
如果您拥有非常整洁和统一的数据,上述功能是合适的。如果它们适合您,请单击链接以进行阅读。如果您的数据不太统一,例如它包含数字和字母,您可能需要考虑textscan。
使用文本扫描您必须自己执行所有三个步骤。首先打开文件并创建一个名为文件ID(FID)的文件链接:
FID = fopen('mytextfile.txt')
接下来,您将定义一个描述单行数据(一行)的格式说明符。
formatSpec = '%f %f %f %f %s'
此格式说明符表示4个十进制数字(浮点数),后跟一个全部由空格分隔的字符串。有关格式说明符的更多信息,请参阅:
http://www.mathworks.nl/help/matlab/ref/textscan.html#inputarg_formatSpec
现在,您可以通过调用以下方式阅读文本文件:
C = textscan(FID,formatSpec);
将每个列存储在C中的单元格中。因此第一列是C {1},第二列是C {2}等。
最后确保使用文件ID
关闭文件fclose(FID);
祝你好运!