100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 用matlab设计一个简单的抽奖程序

用matlab设计一个简单的抽奖程序

时间:2023-05-18 09:56:22

相关推荐

用matlab设计一个简单的抽奖程序

问题描述

国庆节快要到了,实验室要求设计一个抽奖程序。先将所有实验室成员的姓名输入到一个excel文件中,然后运行程序,读取excel文件中的数据,从中随机抽取一个人作为中奖者。用matlab就可以解决这个问题。

程序设计步骤

1.在命令行窗口输入:

guide

2.选择“Blank GUI(DEfault)”,点击“确定。

3.如图所示,创建一个面板,一个静态文本(在这里要跟之前看我文章的朋友们道个歉,我忘记写要加一个静态文本,导致大家运行后出错),与三个按钮。

4.分别右击各个控件,选择“属性检查器”,将其名称分别改为:名单、载入名单、中奖者、退出。静态文本的名称改为空白。并把“中奖者”按钮的“Enable”属性改成"off"。

控件的其他属性,比如文字大小、文字颜色、文字字体、控件位置等等,大家可以根据自己的喜好修改。

最后保存文件名为:choujiang.fig。改完后的界面如图所示:

这里要注意一点,一定要保证“名单”控件的标签是"uipanel1",“静态文本”控件的标签是"text1",“载入名单”控件的标签是"“pushbuttom1”,“中奖者”控件的标签是"pushbuttom2",“退出”控件的标签是"pushbuttom3",否则后面的代码会与这些控件不对应,导致运行出错。

5.编写代码,打开choujiang.m文件,修改其中三个按钮所对应的代码,具体代码与注释如下:

function pushbutton1_Callback(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)%---载入名单---global num txt [num, txt]= xlsread('1111.xlsx');%读取ecxl文件,把返回的数据与文本分开保存。n=size(txt,1);%n为excel中的总数据数,也就是总人数。set(handles.pushbutton2,'enable','on');%将按钮2“中奖者”设为开启状态。i=1;while i<n+1for i=1:nset(handles.text1,'string',txt(i));pause(0.1);%每隔0.1秒更新一个姓名并在面板上显示。endif i==ni=1;endend% --- Executes on button press in pushbutton2.function pushbutton2_Callback(hObject, eventdata, handles)% hObject handle to pushbutton2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)%----中奖者----global num txtn=size(txt,1);i=randi([1,n],1);%从1-n中随机取一个数。msgbox(['中奖者是:';txt(i)]);%中奖者为第i个人。% --- Executes on button press in pushbutton3.function pushbutton3_Callback(hObject, eventdata, handles)% hObject handle to pushbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)clear;close;%关闭程序。

6.点击“运行”,运行程序。点击“载入名单”,结果如图所示:

点击“中奖者”,结果如图所示:

参考文献

.

[1]:/question/27780598/answer/434740042

[2]:/download/sujuan1219/2446731

后记

最近有好几个朋友私信或者QQ问我,为什么他们做出来的程序各种报错。说实话这些报错我也不太清楚为什么,只能说肯定是流程中的某一步做错了。在此我附上了我自己写的程序,解压到matlab对应的目录下就可以运行了。报错的朋友们可以把自己写的程序和我写的进行对比,看看错误的地方到底在哪里。

下载链接:/download/a453712990/13740036

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。