24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2898  |  回复: 21
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

匿名

用户注销 (著名写手)

本帖仅楼主可见
已阅   同方向广播   申请仿真EPI   回复此楼   编辑   查看我的主页

wangyuewu08

木虫 (著名写手)


臭水沟: 金币+1, 谢谢交流~~ 2012-04-20 09:05:07
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]); %设置坐标范围

往事并不如烟
17楼2012-04-19 09:00:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 22 个回答

wangyuewu08

木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
wangyongyong: 金币+10, ★★★★★最佳答案 2012-04-17 13:29:24
臭水沟: 金币+2, 谢谢交流~~ 2012-04-18 08:29:24
看看dlmread函数的说明。
【循环开始】
读入数据
画图
hold on
【循环结束】
往事并不如烟
2楼2012-04-17 13:24:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

匿名

用户注销 (著名写手)

本帖仅楼主可见
3楼2012-04-17 13:30:37
已阅   申请仿真EPI   回复此楼   编辑   查看我的主页

wangyuewu08

木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
wangyongyong: 金币+10, ★★★★★最佳答案 2012-04-18 08:18:12
臭水沟: 金币+1, 谢谢交流~~ 2012-04-18 08:29:43
你传3个txt文档上来吧,txt文档的命名最好有规则
往事并不如烟
4楼2012-04-18 08:04:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见