听说今天微信支持520红包,童鞋们可以发给小编试试哦哈哈,虽然没有人发,但是还是收到了妈妈的红包开心啊哈哈
放射性核素信息主要是包含放射性物质的半衰期及 特征峰γ能量(分支比)/keV(%),现有放射性核素信息表如下表所示。文件原始类型为excel,采用MATLAB GUI模块设计一个查询系统,使得用户输入放射性物质的任意信息,便可查询到其半衰期及特征峰γ能量等。由于半衰及特征峰的数据较长查询极不方便,故要求输入数值的小数点后一以为即可。如下面标红的该放射性,输入Co-60或5.3或117.2或1332.5任意一数据便可查询该放射性物质。效果如下图所示。
放射性核素信息 | |||||
放射性物质 | 半衰期 | 特征峰γ能量(分支比)/keV(%) | |||
Co-57 | 271.79(9)d | 122.0614(85.60) | 136.4743(10.68) | 692.41(0.149) | |
Co-60 | 5.2714(5)y | 1173.237(99.97) | 1332.501(99.98) | ||
Ba-133 | 10.51(5)y | 276.400(7.164) | 302.851(18.33) | 356.013(62.05) | 383.848(8.94) |
Cs-137 | 30.07(3)y | 661.657(85.1) | |||
Ir-192 | 73.813(8)d | 295.958(28.67) | 308.457(30.0) | 316.508(82.81) | 468.072(47.83) |
Ir-192 | 73.813(8)d | 484.578(3.184) | 588.584(4.514) | 604.415(8.23) | 612.466(5.309) |
Eu-152 | 13.537(6)y | 121.782(39.76) | 244.697(10.55) | 443.965(4.379) | 778.904(46.45) |
Eu-152 | 13.537(6)y | 867.373(5.906) | 964.079(20.32) | 1085.869(14.2) | 1112.069(18.98) |
Eu-152 | 13.537(6)y | 1299.14(5.826) | 1408.006(29.22) | 1457.643(0.698) | 1528.103(0.391) |
Ra-226 | 1600(7)y | 295.224(19.3) | 351.932(37.6) | 609.312(46.1) | 1120.287(15.1) |
Ra-226 | 1600(7)y | 1764.494(15.4) | 2204.21(5.08) | ||
Am-241 | 432.2(7)y | 26.3448(2.4) | 59.5412(35.9) | 125.3(0.00408) | 208.01(0.000791) |
Cr-51 | 27.7025(24)d | 320.0824(9.92) | |||
Ga-67 | 3.2612(6)d | 93.311(39.2) | 184.577(21.2) | 208.951(2.4) | 300.219(16.8) |
Ga-67 | 3.2612(6)d | 393.529(4.68) | |||
Tc-99m | 6.01(1)h | 140.511(89.06) | |||
Pb-103 | 16.991(19)d | 294.98(0.0028) | 357.45(0.0221) | 497.08(0.004) | |
In-111 | 2.8047(5)d | 171.28(90.2) | 245.4(94) | ||
I-131 | 8.02070(11)d | 80.185(2.62) | 284.305(6.14) | 364.489(81.7) | 636.989(7.17) |
I-131 | 8.02070(11)d | 722.911(1.7729) | |||
Xe-133 | 5.243(1)d | 80.997(38) | 233.221(10) | ||
U-233 | 159200(1)y | 146.345(0.0066) | 164.522(0.0062) | 187.969(0.0019) | 291.354(0.0054) |
U-233 | 159200(1)y | 317.16(0.0078) | 320.541(0.0029) | ||
U-235 | 7038000(5)y | 143.76(10.96) | 163.33(5.08) | 185.715(57.2) | 205.311(5.01) |
Pu-238 | 87.7(3)y | 43.498(0.0395) | 99.853(0.0073) | 152.72(0.0009) | |
Np-237 | 214400000(7)y | 86.477(12.4) | 143.249(0.43) | 151.414(0.232) | 212.29(0.155) |
U-238 | 4468000000(3)y | 1001.7(0.838) | 1737.73(0.0003) | 1831.3(0.0172) | |
K-40 | 1277000000(8)y | 1460.83(10.67) |
问题的关键在于数据前处理,首先根据要求,需要把半衰周期和特征峰值的数据进行处理(要求规定):将括号内的内容删除掉,并将所含的字母删除,如
处理为
据前处理的核心函数是正则匹配函数regexprep,相关详细使用方法参见官网或者本地帮助文档(help regexprep)。首先需将excel表格的数据导入matlab。
Excel数据转化mat程序
%% 导入电子表格中的数据
% 用于从以下电子表格导入数据的脚本:
% 工作簿: E:\桌面\公众号\20190520\核素基本信息(1).xlsx
% 工作表: Sheet1
%% 导入数据
[~, ~, data] = xlsread('E:\桌面\公众号\20190520\核素基本信息(1).xlsx','Sheet1','A1:F30');
data = string(newstr5);
data(ismissing(newstr5)) = '';
❖然后使用正则匹配函数regexprep,
字符串处理(regexprep函数)
newStr1 = regexprep(data,'\((\d*.\d*)\)','');
%将括号带有数字及.的字符进行匹配并替换为空白符
%该操作主要针对特征峰
data = regexprep(data,'',blanks(10));
newStr2 = regexprep(newStr1(:,2),'\((w*)\)|([a-z])','');
%半衰周期的含有()及字母的字符串进行查找并替换为空白符
newStr1(:,2)=newStr2;
newStr2=roundn(str2double(newStr1(2:end,2:end)),-1);
%将半衰周期及特征峰部分的字符串进行数字转换并保留有效位数
newStr2(isnan(newStr2))=-1;
%转化矩阵中缺失部分为Nan,故将所有Nan占位记为1
newStr3=string(newStr2);
%将数字转化为字符串
newStr3=[newStr1(2:end,1) newStr3]
newStr4 = regexprep(newStr3(:,2:end),'-1','')
%将记为-1的字符匹配并替换为空白符
newStr5=[newStr1(2:end,1) newStr4]
save data.mat data
save data1.mat newStr5
❖结果如下
据预处理后就是设计一个简单的GUI界面
GUI 设计
界面设计完成后,首先获取编辑文本框内用户输入的核放射性物质
编辑文本框数据获取
set(handles.text3,'string','')
gint=get(handles.edit1,'string');
❖通过find函数检索用户输入的信息,通过if-语句实现:若检测到则在静态文本框中显示相关信息,否则给出找不到该放射性物质信息的提示
信息检索
[x,~]=find(newStr5==gint);
if isempty(x)
warndlg({'查不到该该放射性核素信息!';'请重新输入'},'警告')
else
set(handles.text3,'string',(char([data(1,:);data(x+1,:)])))
end
❖作品欣赏
点击文字即可阅读
基于MATLAB云图背景图片的添加(一)
基于MATLAB文本转语音包的实现
MATLAB调用摄像头实例
基于MATLAB制作简易画板
Lamb频散曲线快速绘制软件
基于MATLAB的心电图信号分析与处理
基于hough变换的直线检测
MATLAB版本的俄罗斯方块
您有一份软件著作权请查收
你的时光倒映机
谁说工科男不解风情
高阶齿轮副副参数设计系统
如何抓取网页中的图片
基于MATLAB的验证码生成系统
MATLAB 如何生成 APP ———以运动模糊图像复原为例
凉凉——可变速小风扇
高逼格坐标轴函数
如何验证身份证号码是否合法
基于compass函数的时钟制作
抖音上火起来的撩妹神器
基于MATLAB视频处理——抖音小视频去除水印
MATLAB版本的扫雷小游戏
如何验证邮箱名是否合法
基于MATLAB定时器timer函数制作数字万年历
跟着工科男学英语单词
高效办公路上MATLAB助你一臂之力
在学习中得到乐趣,在乐趣中收获学习,欢迎关注和分享该公众号。如果您有什么建议可以公众号直接回复即可,如果您需要期待您的加入,也希望您分享给您身边有需要的人。
欢迎有志之士投稿,内容只要和Matlab有关即可。可以是自己学习中的基础知识理解,也可是专业领域的知识技能,内容不限。
投稿邮箱:AbsorbedinU@163.com
QQ技术支持交流群:621250505