matlab对xrd进行批量分峰,matlab画XRD数据图

此篇博客介绍了如何使用Matlab 7.11.0.584版本处理X射线衍射(XRD)实验数据,从Excel表格中读取压力值和曲线数据,去除异常值,并利用colormap创建彩色图。重点讲解了数据预处理、绘图技巧及色彩映射的使用。
摘要由CSDN通过智能技术生成

CODE:

%   XRD,X射线衍射

%   function:绘制excel中的多对数据

%   version:7.11.0.584 (R2010b)

%   wyw

%   20120419

%   修改:

%   1.将压力值的下限修改为1;

%   重要说明

%   表格中数据的位置与楼主上传的要一致,否则程序运行错误;

%   1.为了方便提取数据,表格中压力的单位要去掉,只保留数值;

%   2.表格中残缺的数据用0表示,而不是--;

%   祝你顺利

%   文件存放的路径,需要手动修改,注意最后的反斜杠

folder_name = 'E:\MyFile\Matlab\论坛帮助\X射线衍射\';

file_name = 'XRDpn.xls';

number_of_txt = 12; %txt文件的个数,即曲线的条数

%   提取压力数值,用来制作colormap

num = xlsread([folder_name, file_name], 'A1:X1');

pressure = zeros(number_of_txt, 1);

for ii = 1 : 2 : number_of_txt*2 - 1

pressure((ii+1)/2) = num(ii);

end

%   matlab中的下标只能是正整数或逻辑数组

%   通过下面这条语句将小于或等于0的压力值取为1

pressure(pressure<=1) = 1;

%   提取绘图数据,绘制曲线

data = xlsread([folder_name, file_name], 'A4:X746');

%   绘图

figure(1)

hold on

cmap = colormap(jet(36));   %提取其中的36种颜色

for ii = 1 : number_of_txt

x = data(:, ii*2-1);

y = data(:, ii*2);

%   通过关系运算去除表格中的零点

%   因为压力值的下限已经设置为1,所以可以用round取整

plot(x(x~=0), y(y~=0), 'Color', cmap(round(pressure(ii)), :));

clear x y;  %考虑到数据的维数可能不一致

end

hold off

colorbar;   %显示色彩条

set(gca, 'XLim', [10, 20]); %设置坐标范围

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值