GUI和simulink的数据交换
然后搭建GUI 模型,命名为GUI11
function sys=mdlOutputs(t,x,u)
global a
a=9;
sys=a*u;
就是说增益是9;
然后在GUI11的按钮下写的是:
open('wsx')
sim('wsx')
global a;
set(handles.edit1,'String',num2str(a));
这样的一句话就实现了。http://s10/bmiddle/00688zkAzy7bnxZXeR329&690
我不喜欢GUI的一点就是写程序的时候字母打错了或者说有些单词拼错了自己检查不出来。这个会非常浪费时间,我也没有办法。
以上举的例子的实用的意义是,如果你想从simulink中输出一堆数据到GUI的显示器里,实用这个s函数就会非常简单,比如希望输出5个数据显示到GUI中的5个编辑器里。可以这样:
function sys=mdlOutputs(t,x,u)
global a
a=u;
sys=[];
在GUI下按钮的程序是
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)
open('wsx')
sim('wsx')
global a;
set(handles.edit1,'String',num2str(a(1)));
set(handles.edit2,'String',num2str(a(2)));
set(handles.edit3,'String',num2str(a(3)));
set(handles.edit4,'String',num2str(a(4)));
set(handles.edit5,'String',num2str(a(5)));
对,就是这样,结果是
好吧,就写这么多吧。完成了数据从模型到GUI的传递。就是记住不要直接复制我的程序,要自己写一遍,写一遍然后自己调。因为很多东西很容易写错。
嗯,周末和端午节就不写了,过了端午节再写博客!

加载中…