编写程序时,有时需要从外部读入数据,这里介绍用importdata函数把数据导入MATLAB的方法。
1.加载和显示图像文件
在MATLAB中建立一个脚本文件,内容如下:
filename = 'ming.png';
A = importdata(filename);
image(A);
运行该文件,MATLAB显示出图像文件。
**注意:**该图像文件必须保存在当前目录。
2. 导入文本文件
文本文件的内容如下:
a b c
d e f
1 2 3
4 5 6
7 8 9
测试代码如下:
delimiterIn = ' '; % 字符分隔符
headerlinesIn = 2; % 文件头的行数
A = importdata('readtxt.txt', delimiterIn, headerlinesIn);
A
data = A.data
textdata = A.textdata
colheaders = A.colheaders
运行结果
A =
包含以下字段的 struct:
data: [3×3 double]
textdata: {2×3 cell}
colheaders: {'d' 'e' 'f'}
data =
1 2 3
4 5 6
7 8 9
textdata =
2×3 cell 数组
{'a b c'} {0×0 double} {0×0 double}
{'d' } {'e' } {'f' }
colheaders =
1×3 cell 数组
{'d'} {'e'} {'f'}
>>
**注意:**textdata读取的是用headerlinesIn识别的n行头文件,colheaders是headerlinesIn最后一行,做为列名。textdata中除了headerlinesIn以外,其余每行当做一个字符串来读取,不分开。
3. 从剪切板导入数据
复制到剪切板中的以下内容:
富强 民主 文明 和谐
在MATLAB中建立一个脚本文件,内容如下:
A = importdata('-pastespecial')
运行结果如下:
4. importdata函数用法总结
函数 | 说明 |
---|---|
A = importdata(filename) | 将数据从文件名所表示的文件中加载到数组 A 中 |
A = importdata(’-pastespecial’) | 从系统剪贴板加载数据,而不是从文件加载数据。 |
A = importdata(___, delimiterIn) | 将 delimiterIn 解释为 ASCII 文件、文件名或剪贴板数据中的列分隔符。可以将 delimiterIn 与上述语法中的任何输入参数一起使用。 |
A = importdata(___, delimiterIn, headerlinesIn) | 从 ASCII 文件、文件名或剪贴板加载数据,并从 lineheaderlinesIn+1 开始读取数字数据。 |
[A, delimiterOut, headerlinesOut] = importdata(___) | 在分隔符输出中返回检测到的分隔符字符,并使用前面语法中的任何输入参数检测headerlinesOut 中检测到的标题行数。 |