Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1310410
  • 博文数量: 124
  • 博客积分: 5772
  • 博客等级: 大校
  • 技术积分: 1647
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-27 10:39
文章分类

全部博文(124)

文章存档

2020年(1)

2019年(1)

2018年(5)

2017年(2)

2016年(17)

2015年(3)

2014年(7)

2013年(11)

2012年(13)

2011年(30)

2010年(34)

分类: Windows平台

2014-05-15 16:49:05

用光谱仪测量的光谱,得到数据文件(.txt)。有时候需要对光谱进行处理之后才能使用。这就涉及到MATLAB对文本文件的读取和存入操作。这里我们以一个例子来说明对文本文件读、存的操作。

图1 光谱文件结构
一般光谱仪得到的光谱文件结构如图1所示,共包含两列,第一列为波长数值(单位:nm),第二列为测量的光功率值(单位:dBm)。两列之间用空格分割。现在假设要把光谱往短波长方向移动0.4 nm,然后再把平移之后的光谱保存为.txt文件。(假设原光谱文件为A.txt,平移后的光谱文件为B.txt)代码如下:

  1. %==========================================================================
  2. %Name: file_r_w.m,
  3. %Desc: 对文本文件的读取与存入操作
  4. %Parameter:
  5. %Return:
  6. %Author: yoyoba(stuyou@126.com)
  7. %Date: 2014-5-15
  8. %Modify: 2014-5-15
  9. %==========================================================================
  10. clear
  11. clc
  12. OS=load('A.txt'); %读入原光谱文件;
  13. lamda=OS(:,1)'; %第一列波长数据
  14. power=OS(:,2)'; %第二列光功率数据
  15. lamda_shift=lamda-0.4; %波长往短波长移动0.4nm;
  16. spa=32; %空格的ASCII码
  17. fid=fopen('B.txt','w'); %以写的方式打开文件B.txt
  18. for i=1:length(lamda_shift)
  19.     t=strcat(num2str(lamda_shift(i)),spa,num2str(power(i))); %构造每行的数据
  20.     fprintf(fid,'%s\r\n',t); %按行写入B.txt,且每行后加入回车符换行。
  21. end
  22. fclose(fid); %关闭B.txt
file_r_w.rar
阅读(8749) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~