MATLAB与Excel数据交互在实验室试剂管理中的应用

时间:2022-10-10 11:35:35

MATLAB与Excel数据交互在实验室试剂管理中的应用

摘 要 结合实验室试剂管理的经验与实践,介绍了利用xlswrite和xlsread函数实现MATLAB与Excel数据交互的方法在试剂管理中的应用。

关键词 MATLAB Excel 数据交互 试剂管理

作为高校从事教学和科研的主要基地,实验室状况成为反映学校教学、科研及管理水平的重要标志。由于高校每年消耗的化学试剂种类繁多、性质复杂、数量较大,仅靠管理员手工记录已无法满足日常的工作需要,易导致试剂管理的混乱,如无法及时更新出入库信息、无法动态监控试剂的使用情况、无法实现新旧试剂的有序使用、无法准确判断试剂准确位置等诸多问题。因此如何提高实验室工作效率并实现科学化管理成为高校教学改革工作关注的重点。实验室试剂的管理涉及大量数据的分类、统计与分析,这促使我们在实际的工作中尝试利用目前流行的数据处理软件MATLAB和Excel设计试剂管理系统,以期达到事半功倍的效果。

一、MATLAB与Excel数据交互方式

作为高性能的科学与工程计算、办公软件,MATLAB与Excel的结合能够充分发挥两者在数值计算和表格处理上的优势,为实际工作带来方便。目前,两者间的数据共享有两种常用方式:一是通过安装Excel Link插件在Excel环境下直接调用MATLAB函数实现数据交换;二是利用xlsread和xlswrite函数在MATLAB环境下完成对Excel文件的数据处理,这也是本文工作采用的方法。

xlsread函数读取Excel表格的一般格式为[num,txt,raw] = xlsread(' filename', sheet, 'range'),即读取文件名为filename的Excel文件中sheet页面数据表格的range区域,并将其中的数值类型的数据、文本数据和所有数据分别返回给矩阵num、txt和raw。xlswrite函数写入Excel表格的一般格式为xlswrite(' filename', M, sheet, ' range'),即将矩阵M写入文件名为filename的Excel文件中sheet页面数据表格的range区域。下面,我们就以试剂的查询、入库与出库、统计等功能为例介绍xlsread和xlswrite函数实现数据交互的方式在实验室试剂管理中的应用。

二、实验室试剂管理的应用举例

(一)试剂的查询

实验室试剂种类繁多,并且通常会根据试剂的不同性质分类存放以实现安全管理。为了能够更好地为实验任课教师服务,帮助他们迅速找到自己所需试剂的相关信息,我们以图1的Excel工作表为例,利用xlsread和strmatch函数实现了试剂的查询功能,源程序如下:

图1 实验试剂.xls工作表的内容

[num,txt,raw] = xlsread('实验试剂.xls',1,'A1:F4');

bb=strmatch('试剂3' , txt);

x1=raw(bb,1);

x2=raw(bb,2);

x3=raw(bb,4);

str1=sprintf('%s','试剂为:',x1{:});

str2=sprintf('%s','规格为:',x2{:});

str3=sprintf('%s','摆放位置为:',x3{:});

disp(str1); disp(str2); disp(str3);

fprintf('\n')

运行以上程序,可给出实验试剂.xls工作表中试剂3相关的规格、位置等信息。

(二)试剂的入库与出库

实验室试剂流通量大,为了做好试剂的入库与出库记录并及时更新试剂信息,提高试剂管理的效率,我们利用xlsread、xlswrite、strmatch和strcat函数实现了对入库与出库试剂相应信息的修改功能,源程序如下:

[num,txt,raw] = xlsread('实验试剂.xls',1,'A1:F4');

bb=strmatch('试剂3' , txt)

aa=-2; %试剂改变的数量,如新到,则为正值;若消耗,则为负值

x1=num(bb-1,1)+aa; %根据改变的数量重新计算更变后的试剂数量

if aa>=0 %新到试剂,试剂数量增加

xlswrite('实验试剂.xls',x1,1,strcat(['C' num2str(bb)]));

end

if aa

x2=num(bb-1,4)+abs(aa);

xlswrite('实验试剂.xls',x1,1,strcat(['C' num2str(bb)]));

xlswrite('实验试剂.xls',x2,1,strcat(['F' num2str(bb)]));

end

运行以上程序,实验试剂.xls工作表中试剂3的数量及累计使用数量信息分别变为1和15。

(三)试剂的统计

实验室试剂用量多消耗大,为了及时购进、补充实验试剂以保证正常实验教学秩序,同时对试剂的采购加以控制防止浪费,我们利用xlsread函数和for及if语句实现了试剂预警及高消耗试剂的筛选功能,源程序如下:

[num,txt,raw] = xlsread('实验试剂.xls',1,'A1:F4');

aa=2; %试剂预警的下限

bb=13; %试剂高消耗的数量

for ii=1:length(num)

if num(ii,1)

m=raw(ii+1,1);

n=raw(ii+1,2);

str1=sprintf('%s','库存不足的试剂为:',m{:});

str2=sprintf('%s','对应的规格为:',n{:});

disp(str1); disp(str2);

fprintf('\n')

end

end

fprintf('\n')

for jj=1:length(num)

if num(jj,4)>=bb

m11=raw(jj+1,1);

n11=raw(jj+1,2);

str1=sprintf('%s','消耗量较大的试剂为:',m11{:});

str2=sprintf('%s','对应的规格为:',n11{:});

disp(str1); disp(str2);

fprintf('\n')

end

end

运行以上程序,便可筛选出实验试剂.xls工作表中试剂1、2的数量过少及试剂3的消耗量过大,从而辅助管理员对试剂进行统筹安排。

三、结语

高校实验室试剂的合理、高效、安全的管理是高校实验室管理及安全工作的重要组成部分,为了保障高校实验教学和科研的顺利开展,我们利用MATLAB与Excel软件的数据交互完成了试剂的查询、入库、出库、统计和筛选等工作,从而大大提高了工作效率,降低了管理难度,实现了实验室试剂的科学化管理。

参考文献:

[1]杨高波,亓波.精通MATLAB7.0混合编程[M].电子工业出版社,2006.

[2]粟智,翁之望.Excel与MATLAB的链接及其在化学中的应用[J].新疆师范大学学报(自然科学版),2003(02).

[3]罗天添,刘书豪.Matlab-Excel数据交换方法与实例[J].电脑编程技巧与维护,2010(18).

[4]寇金宝,洪林,李德胜.实现MATLAB与Excel数据交互的一种可行方法[J].天津职业大学学报,2010(2).

(作者单位:胡波,重庆邮电大学生物信息学院;张鹏,重庆邮电大学教务处)

上一篇:清末民初三峡地区天主教堂建筑特征研究 下一篇:浅析文化差异对广告语翻译的影响