我在GUIDE中创建了一个带有两个可编辑文本框和四个静态文本框的Matlab GUI

用户在两个可编辑的文本框(e1和e2)中输入值,并根据这些值计算应在静态文本框(s1,s2,s3和s4)中显示的值.

它在e1和e2的每个值变化上执行此操作

e1更改值时计算值的代码如下所示.

% --- Executes on key press with focus on e1 and none of its controls.

function e1_KeyPressFcn(hObject, eventdata, handles)

% hObject handle to e1 (see GCBO)

% eventdata structure with the following fields (see UICONTROL)

% Key: name of the key that was pressed, in lower case

% Character: character interpretation of the key(s) that was pressed

% Modifier: name(s) of the modifier key(s) (i.e., control, shift) pressed

% handles structure with handles and user data (see GUIDATA)

% Start of BLOCK

% Get values from e1 and e2 and calculate other values

handles.levels = str2num(get(handles.e1, 'String'));

handles.edgelength = str2num(get(handles.e2, 'String'));

handles.cellnum = (handles.levels^3 + 3*handles.levels^2 + 2*handles.levels)/6;

handles.vertnum = ((handles.levels+1)^3 + 3*(handles.levels+1)^2 + 2*(handles.levels+1))/6;

% Set values of s1, s2, s3 and s4

set(handles.s1, 'String', num2str(handles.cellnum));

set(handles.s2, 'String', num2str(handles.vertnum));

set(handles.s3, 'String', num2str(0.433*handles.edgelength^2));

set(handles.s4, 'String', ...

num2str(2*handles.cellnum*str2num(get(handles.s3, 'String'))));

% End of BLOCK

是否可以引用这段代码(包含在BLOCK中),以便函数e2_KeyPressFcn也可以使用它?

现在我只是将该部分复制粘贴到函数e2_KeyPressFcn,但这似乎不是很优雅.

最佳答案 如何为您的代码块创建帮助函数?

我正在考虑以下几点:

function e1_KeyPressFcn(hObject, eventdata, handles)

handles = helper_block_func(handles);

function e2_KeyPressFcn(hObject, eventdata, handles)

handles = helper_block_func(handles);

function hout = helper_block_func(hin)

hout = hin;

% # Get values from e1 and e2 and calculate other values

hout.levels = str2num(get(hout.e1, 'String'));

hout.edgelength = str2num(get(hout.e2, 'String'));

hout.cellnum = (hout.levels ^ 3 + 3 * hout.levels ^ 2 + 2 * hout.levels) / 6;

hout.vertnum = ((hout.levels + 1) ^ 3 + 3 * (hout.levels + 1) ^ 2 ...

+ 2 * (hout.levels + 1)) / 6

% # Set values of s1, s2, s3 and s4

set(hout.s1, 'String', num2str(hout.cellnum));

set(hout.s2, 'String', num2str(hout.vertnum));

set(hout.s3, 'String', num2str(0.433 * hout.edgelength ^ 2));

set(hout.s4, 'String', ...

num2str(2 * hout.cellnum * str2num(get(hout.s3, 'String'))));

matlab功能块,Matlab GUI重用功能块相关推荐

  1. 利用matlab小波GUI工具箱对空挡噪声进行滤波

    利用matlab小波GUI工具箱对空挡噪声进行滤波: 1.命令wavemenu调出matlab小波GUI工具箱, 2.File->load加载噪声音频文件,wavelet 1-D,选择小波函数, ...

  2. MATLAB App Designer GUI开发从0到1(二)

    文章目录 前言 一.开关以及旋钮 1. 左上角:旋钮 2.右上角:90度仪表 3.左下角:分档开关 4.右下角:开关 5.对旋钮微调 二.画图 1. 普通画图 2.添加小组件 三.回调函数 简单的回调 ...

  3. 【基于matlab数字图像处理GUI代码】_数字图像处理考核论文_大作业_项目

    基于matlab数字图像处理GUI代码 代码: function varargout = Image_processing_GUI(varargin) % IMAGE_PROCESSING_GUI M ...

  4. matlab gui打开fig文件,使用Matlab創建GUI時重新定位「.fig」文件GUIDE

    我爲某些構建腳本開發了一個GUI,現在正在部署它.由於腳本將被部署到各種不同點的不同機器上,我需要使用團隊使用的標準目錄格式.使用Matlab創建GUI時重新定位「.fig」文件GUIDE GUI由一 ...

  5. 虹膜识别算法 matlab,基于MATLAB GUI 的虹膜识别算法测试平台

    基于MATLAB GUI 的虹膜识别算法测试平台 田启川;潘泉;程咏梅;张洪才 [期刊名称]<计算机仿真> [年(卷),期]2006(023)002 [摘要]虹膜识别是一种重要的利用生物学 ...

  6. 遗传算法 gui matlab,用matlab遗传算法工具gui优化轴承

    用matlab遗传算法工具gui优化轴承 设计变量滚珠数目 Z=23 滚珠直径 Db 为变量 1,即 x(1) 节圆直径 dm 为变量 2,即 x(2)fi, fo 分别为轴承内外滚道曲率半径系数 f ...

  7. matlab软件中GUI界面开发学习——双色球选择小工具

    matlab软件中GUI界面开发学习--双色球选择小工具 先上一张界面截图: 特别说明:只是最近对双色球比较感兴趣,所以找了一个实际的项目依据帮助我学习GUI工具,小工具的相关条件仅代表个人想法,选择 ...

  8. matlab常见错误,matlab常见错误(gui篇)

    <matlab常见错误(gui篇)>由会员分享,可在线阅读,更多相关<matlab常见错误(gui篇)(99页珍藏版)>请在金锄头文库上搜索. 1.MATLAB 中文论坛相关帖 ...

  9. Matlab系列之GUI设计基础

    Matlab系列之GUI设计基础 简介 编辑界面 菜单设计 控件设计 控件描述 个人理解 Matlab转译 控件属性 [1]外观与行为 [2]控件对象的信息 [3]回调函数 [4]状态信息 结束 更多 ...

最新文章

  1. 对象序列化 输入输出流概念 InputOutStream OutputStream
  2. python gdbt+fm_GBDT回归的原理及Python实现
  3. MDSF:LOP-使用MPS来做个计算器的示例
  4. boost::mp11::mp_set_union相关用法的测试程序
  5. allocator_is_always_equal的实例
  6. Hadoop集群中添加硬盘
  7. 鲲鹏920 centos7 postgresql12 postgis2.5.4编译
  8. python降维之时间类型数据的处理_使用Python进行数据降维|线性降维
  9. oracle不连续得时间如何分组,Oracle按不同时间分组统计的sql
  10. thinkphp5 mysql加1_ThinkPHP5.1的数据库链接和增删改查
  11. C语言常见题目汇总(不断更新)(建议收藏)
  12. InDesign 教程如何新建文档?
  13. 复合型网络拓扑结构图_计算机网络拓扑结构图的种类及图示
  14. 华硕笔记本电脑win10系统一键重装教程分享
  15. 郑州大学python程序设计试题及答案_Python程序设计(胡新明)-中国大学mooc-试题题目及答案...
  16. Windows平台下 C++注册表项重命名实现
  17. pythondocker——外部无法访问,报错:该网页无法正常运作
  18. 基于视词袋模型的场景识别
  19. EVE模拟器完整路由拓扑实验报告
  20. C - Wrap very long lines of input into two or more shorter lines

热门文章

  1. 标准C程序设计七---66
  2. 台北到淡水版Firefox无法播放视频
  3. 面试官问我:什么是JavaScript闭包,我该如何回答
  4. 解决win7的outlook打不开的问题
  5. 插入排序:表折半插入
  6. dotty编译器语法特性之一交叉类型,联合类型和文本单例类型
  7. Zend Studio使用教程之升级Zend Studio(1/3)
  8. linux 系统监控脚本
  9. Oracle数据库自动存储管理(ASM)
  10. akshare双均线backtrader