Matlab学习系列-011. 数据的读写、导入及导出

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

011. 数据的读写、导入及导出

在编写一个程序时,经常需要从外部导入数据,或者将程序运行的结果保存为文件。

一、*.txt或*.dat数据的导入与导出

1.load函数——数值数据(格式一致)导入

注:load函数可以导入.mat文件,也可以导入变量Load(‘1.mat’,’y’)

例1.‘examp01.txt’文件如下:

1.6218e-005 6.0198e-005 4.5054e-005 8.2582e-005 1.0665e-005 8.6869e-005

7.9428e-005 2.6297e-005 8.3821e-006 5.3834e-005 9.6190e-005 8.4436e-006

3.1122e-005 6.5408e-005 2.2898e-005 9.9613e-005

4.6342e-007 3.9978e-005

5.2853e-005

6.8921e-005 9.1334e-005

7.8176e-006 7.7491e-005 2.5987e-005

1.6565e-005 7.4815e-005 1.5238e-005 4.4268e-005 8.1730e-005 8.0007e-005

代码:

x1 = load('examp01.txt') ;

% 用load函数载入文件examp01.txt中的数据

x1 = load('examp01.txt', '-ascii');

% 用-ascii选项强制以文本文件方式读取数据

load('examp01.txt'); %载入数据给变量examp01

运行结果:x1 = 1.0e-004 *

0.1622 0.6020 0.4505 0.8258 0.1066 0.8687

0.7943 0.2630 0.0838 0.5383 0.9619 0.0844

0.3112 0.6541 0.2290 0.9961 0.0046 0.3998

0.5285 0.6892 0.9133 0.0782 0.7749 0.2599

0.1657 0.7481 0.1524 0.4427 0.8173 0.8001

例2.‘examp02.txt’文件如下:

9.5550 2.7027, 8.6014; 5.6154* 3.4532

0.9223 0.9284, 1.4644; 3.6703* 2.2134

5.5557 7.2288, 4.3811;

6.4703* 4.7856

4.7271 9.9686, 6.1993; 9.6416* 0.6866

代码:

x1 = load('examp02.txt')

% 用load函数载入文件examp02.txt中的数据

x1 = load('examp02.txt', '-ascii');

% 用-ascii选项强制以文本文件方式读取数据

运行结果:x =

9.5550 2.7027 8.6014 5.6154 3.4532

0.9223 0.9284 1.4644 3.6703 2.2134

5.5557 7.2288 4.3811

6.4703 4.7856

4.7271 9.9686 6.1993 9.6416 0.6866

2.dlmread函数——有统一分隔符的数值数据导入

语法:M = dlmread(‘文件名’, ‘分隔符’,‘读取范围’)

例3.(带标题行)‘examp03.txt’文件如下:

这是2行头文件,

你可以选择跳过,读取后面的数据。

1.096975, 0.635914, 4.045800, 4.483729, 3.658162, 7.635046

6.278964,

7.719804, 9.328536, 9.727409, 1.920283, 1.388742

6.962663, 0.938200, 5.254044, 5.303442, 8.611398, 4.848533

代码:

x = dlmread('examp03.txt', ',', 2,0);

%调用dlmread函数读取文件examp02.txt中的数据,用逗号(',')作分隔符,设定读取的初始位置:2行0列之后的数据

运行结果:x =

1.0970 0.6359 4.0458 4.4837 3.6582 7.6350

6.2790

7.7198 9.3285 9.7274 1.9203 1.3887

6.9627 0.9382 5.2540 5.3034 8.6114 4.8485

例4.‘examp04.txt’文件如下:

1.455390+1.360686i, 8.692922+5.797046i, 5.498602+1.449548i, 8.530311+6.220551i

3.509524+5.132495i,

4.018080+0.759667i, 2.399162+1.233189i, 1.839078+2.399525i

4.172671+0.496544i, 9.027161+9.447872i, 4.908641+4.892526i, 3.377194+9.000538i

代码:

x = dlmread('examp04.txt')

% 调用dlmread函数读取的复数矩阵

运行结果:x =

1.4554 + 1.3607i 8.6929 + 5.7970i 5.4986 + 1.4495i 8.5303 + 6.2206i

3.5095 + 5.1325i

4.0181 + 0.7597i 2.3992 + 1.2332i 1.8391 + 2.3995i

4.1727 + 0.4965i 9.0272 + 9.4479i 4.9086 + 4.8925i 3.3772 + 9.0005i

例5. ‘examp05.txt’文件如下:

1.758744 7.217580 4.734860 1.527212

3.411246 6.073892 1.917453

7.384268 2.428496

9.174243

代码:

x = dlmread('examp05.txt')

x1 = load('examp05.txt') % 由于列数不一致,会报错

运行结果:x = =

1.7587 7.2176 4.7349 1.5272

3.4112 6.0739 1.9175 0

7.3843 2.4285 0 0

9.1742 0 0 0

3.dmlwrite函数——将矩阵数据写入指定分隔符的ASCII格式文件

语法:dlmwrite(‘文件名’, ‘数据’, ‘分隔符’, ‘起始行’, ‘起始列’)

相关文档
最新文档