matlab中GUI的使用,调用m文件 50

我现在编好了一个m文件,通过执行可以画出运动速度之类的曲线图表。现在想生成一个用户界面,就是用户可以通过输入几个参数,点击“确定”按钮后,自动运行m文件画出曲线图表。想问... 我现在编好了一个m文件,通过执行可以画出运动速度之类的曲线图表。现在想生成一个用户界面,就是用户可以通过输入几个参数,点击“确定”按钮后,自动运行m文件画出曲线图表。
想问一下如何在GUI中调用我编好的m文件,具体说就是如何捕捉用户输入的参数画出图表。(参数输入界面和绘图界面不在一个窗口)
展开
 我来答
59分粑粑分享生活
高粉答主

2020-05-11 · 专注生活好物分享,解答日常方方面面的问题
59分粑粑分享生活
采纳数:326 获赞数:119833

向TA提问 私信TA
展开全部

方法和详细的操作步骤如下:

1、第一步,在计算机上安装matlab软件,见下图,转到下面的步骤。

2、第二步,完成上述步骤后,双击matlab图标以打开其主页,见下图,转到下面的步骤。

3、第三步,完成上述步骤后,将鼠标移到“New”选项上,然后单击一次,选择并单击弹出菜单中的“Function”选项,见下图,转到下面的步骤。

4、第四步,完成上述步骤后,这是m文件编辑页面,见下图,转到下面的步骤。

5、第五步,完成上述步骤后,编写输入变量和输出变量的函数计算关系,见下图,转到下面的步骤。

6、第六步,完成上述步骤后,单击左上角的“Save”选项进行保存,见下图,转到下面的步骤。

7、第七步,完成上述步骤后,如果要调用m文件,只需依次将要调用的文件保存到“Command Window”窗口的主界面文件夹中,然后在“Command Window”中换行,输入文件名,输入所有输入变量的详细信息。

同时,填写值并按键盘上的Enter键以指示调用和运行m文件,见下图。这样,就解决了这个问题了。

刺友互
高粉答主

2019-09-27 · 每个回答都超有意思的
知道答主
回答量:3979
采纳率:100%
帮助的人:73万
展开全部

1、打开matlab,在命令窗口输入guide,打开gui界面。

2、选择blank gui空项目。

3、然后会进入gui设计界面,左边一栏为元器件,上边栏为设置栏。

5、放好元器件后,需要修改回掉函数,鼠标右击元器件选择查看回调--》callback

5、放好元器件后,需要修改回掉函数,鼠标右击元器件选择查看回调--》callback

6、在.m文件中修改程序,添加自己想要的功能,实现目标。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tianxiawulang
推荐于2017-12-15 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2654万
展开全部
  • 在参数输入界面中,创建适当数量的edit和pushbutton控件;

  • pushbutton控件就是你的“确定”按钮,需要写它的回调函数;

  • 确定按钮的回调函数需要做的工作:

    • 获取编辑框的输入(通过handles可以得到编辑框的句柄);

    • 所获得输入为字符串,使用str2num转换为数值型(必要时做有效性检查);

    • 使用转换后的数据作为输入参数调用你的m文件。 

       

  • 对于 多窗口的应用,需要注意窗口的管理,以免造成混乱(比如把绘图绘到参数输入窗口中)。比较好的做法是,尽量使用句柄或Tag属性标识对象,少用gcf、gca之类的函数。

  • 如果有一定基础,也可以考虑不使用GUIDE做界面,直接使用M语言编程。

 

主要涉及的问题就这么多,如果还搞不明白,可以继续追问。

追问

比如下列是可执行的

% HUITU

%function HUITU()

 a=2;

 b=4;

 A=0:0.1:a;

 B=0:0.1:b;

 c=a^2+8;

 d=b^2+8;

 e=a^3;

 f=b^3;

subplot(2,2,1)

plot(A,c)

subplot(2,2,2) 

plot(A,e)

subplot(2,2,3)

plot(B,d)

subplot(2,2,4)

plot(B,f)

用户赋予a,b值后点击“确定”另外弹出一个窗口绘图

想达到的界面效果如下图 可否把代码发到我邮箱gogoljn@163.com非常感谢

追答
function zd499385856
% 使用Tag属性标识窗口,避免多次运行时创建重复实例
fig = findall(0,'Tag','zd499385856');
if ~isempty(fig), figure(fig), return, end
% 创建窗口及控件
figure('units','points','pos',[100 100 200 100],'menu','none','Tag','zd499385856','KeyPressFcn','close(gcf)')
set(gcf,'defaultuicontrolfontunits','points','defaultuicontrolfontsize',12)
uicontrol('style','text','str','输入参数','units','points','pos',[20 80 50 12])
uicontrol('style','text','str','a:','units','points','pos',[10 50 30 12])
ha=uicontrol('style','edit','str','2','units','points','pos',[40 50 40 16],'back','w');
uicontrol('style','text','str','b:','units','points','pos',[100 50 30 12])
hb=uicontrol('style','edit','str','4','units','points','pos',[130 48 40 16],'back','w');
% 确定按钮,注意设置回调函数(编辑框句柄通过UserData传递)
uicontrol('style','push','str','确定','units','points','pos',[70 10 60 20],'user',[ha hb],'call',@OnOK)
function OnOK(varargin)
% 确定按钮的回调函数
% 获取编辑框句柄
ud = get(gcbo,'user');
% 获取编辑框数据
a = str2num(get(ud(1),'str'));
b = str2num(get(ud(2),'str'));
% 使用Tag属性标识窗口,避免多次运行时创建重复实例
fig = findall(0,'Tag','zd499385856_OK');
if ~isempty(fig)
figure(fig)
else
figure('Tag','zd499385856_OK','KeyPressFcn','close(gcf)')
end
% 后面是你的绘图代码
A=0:0.1:a;
B=0:0.1:b;
c=a^2+8;
d=b^2+8;
e=a^3;
f=b^3;
subplot(2,2,1)
plot(A,c)
subplot(2,2,2)
plot(A,e)
subplot(2,2,3)
plot(B,d)
subplot(2,2,4)
plot(B,f)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
那边树上的小鸟
2012-11-19 · TA获得超过104个赞
知道答主
回答量:78
采纳率:0%
帮助的人:63万
展开全部
你在GUI的属性中把它的回调函数改为你的M文件就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式