matlab功能块,Matlab GUI重用功能块

我在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'))));

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460134.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android--pendingIntent Intent

PendingIntent pendingIntent字面意义:等待的,未决定的Intent。要得到一个pendingIntent对象,使用方法类的静态方法 getActivity(Context, int, Intent, int),getBroadcast(Context, int, Intent, int), getService(Context, int, Intent, in…

Python 支付宝支付代码

2019独角兽企业重金招聘Python工程师标准>>> #!/usr/bin/env python # encoding: utf-8Created on 2011-1-5 author: codebackgmail.comimport hashlib import urllib2verfyURL{"https":"https://www.alipay.com/cooperate/gateway.do?servicenotif…

php基本函数对象,PHP常用函数对象_PHP教程

字符处理函数SQL语句保留字符转义long get_magic_quotes_gpc(void)string addslashes ( string str )string stripslashes(string str)字符的ASCII码int ord(string string) 十进制string chr(ascii) 十进制 八进制(0) 十六进制(0x)string base_convert(string $number,int $fr…

Linux驱动开发必看详解神秘内核(完全转载)

Linux驱动开发必看详解神秘内核完全转载-链接:http://blog.chinaunix.net/uid-21356596-id-1827434.htmlIT168 技术文档】在开始步入Linux设备驱动程序的神秘世界之前,让我们从驱动程序开发人员的角度看几个内核构成要素,熟悉一些基本的内核概…

map用法

转自:http://blog.163.com/xx_jun_/blog/static/208275209201262693422730/ ———————————————————————————————————————————————————————— Map简介 将键映射到值的对象。一个映射不能包含重复的键&#xff…

matlab计算位温,大气物理学复习资料

大气物理学复习资料第一部分名词解释第一章大气概述1、干洁大气:通常把除水汽以外的纯净大气称为干结大气,也称干空气。2、气溶胶:大气中悬浮着的各种固体和液体粒子。3、气团:水平方向上物理属性比较均匀的巨大空气块。4、气团变…

2015第23周五

如何提升你的能力?给年轻程序员的几条建议文中提到的几个建议不错: 1、打造你的工具箱 工欲善其事,必先利其器。每个开发者都应该有一把自己的瑞士军刀,在将来漫长的职业生涯中,这些工具可以为你省下宝贵的时间&#x…

Docker搭建便捷的开发者环境

你可能遇到这样的场景:开发软件时,需要像数据库(mysql,mongodb)、消息系统(rabbitmq)、缓存服务(redis)等其它依赖服务。当然我们可以找台机器,一步步安装依赖,然后把所有依赖的服务都安装好,这…

php环境编译成品,PHPweb成品网站安装环境要求和安装方法

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼[安装环境要求]虚拟主机或在自备服务器中开设好的主机空间,主机环境要求:PHP4.3.x-5.2.x/非安全模式/允许WEB文件上传MYSQL4.2-5.xzend optimizer 3.2以上(备注:PHP5.3 需要Zend Guard Loader,一般虚拟主机都…

第二个Spring冲刺周期团队进展报告

5.26 之前完成:手电筒基本功能实现; 今日任务:主界面的设计; 遇到的问题:在一个activity中实现界面的跳转; 5.27 昨天完成:主界面的设计; 今日任务:警示灯…

BZOJ-1034 泡泡堂

田忌赛马问题。。。 先弱打弱,不行的话强打强,都不行的话弱打强。。。 就这样。。。 【Code】 转载于:https://www.cnblogs.com/NanoApe/p/4396738.html

php 接口怎么响应,Stripe PHP API方法响应的结构是什么?

我正在进行Stripe集成,我对从PHP API获得的实际响应感到困惑.我开始相信API参考是准确的,并且响应将是每个方法所示的JSON字符串.我很快发现了显着的差异.大多数情况下,JSON响应中缺少id字段.此外,响应似乎是一个字符串,一个对象,也许还有其他一些结构,所有这些都在同一时间.这…

unix-ln 命令

指令名称 : ln 使用权限 :所有使用者 使用方式 : ln [options] source dist, 其中 option 的格式为 : [-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}] [--help] [--version] [--] 说明 : Linux/Unix 档案系统中,有所谓的链接(link)&am…

jQuery 1

<!DOCTYPE html> <html lang"zh-cn"> <head><meta charset"utf-8"><meta name"viewport" content"widthdevice-width, initial-scale1"><title>jQuery鼠标事件</title><script src"…

javascript php 性能,浅谈页面装载js及性能分析方法_javascript技巧

一、装载先装载静态页面的引用js文件&#xff0c;然后查找引用文件中是否包含onload函数&#xff0c;比如main.js中包含onload函数&#xff0c;在main.js中查找是否有对其他js文件的引用&#xff0c;优先装载引用js文件&#xff0c;被引用中文件的装载顺序和main.js的顺序一致。…

python计算机视觉2:图像边缘检测

我是一名初学者&#xff0c;如果你发现文中有错误&#xff0c;请留言告诉我&#xff0c;谢谢 如果需要检测到图像里面的边缘&#xff0c;首先我们需要知道边缘处具有什么特征。 对于一幅灰度图像来说&#xff0c;边缘两边的灰度值肯定不相同&#xff0c;这样我们才能分辨出哪里…

Java集合---Arrays类源码解析

一、Arrays.sort()数组排序 Java Arrays中提供了对所有类型的排序。其中主要分为Primitive(8种基本类型)和Object两大类。 基本类型&#xff1a;采用调优的快速排序&#xff1b; 对象类型&#xff1a;采用改进的归并排序。 1、对于基本类型源码分析如下&#xff08;以int[]为例…

oracle12c多个pdb,ProxmoxVE 之 oracle12C 多CDB和PDB

上面左边是我的个人微信&#xff0c;如需进一步沟通&#xff0c;请加微信。 右边是我的公众号“Openstack私有云”&#xff0c;如有兴趣&#xff0c;请关注。继上次在PVE环境上搭建了oracle12C RAC环境(请参考博文“ProxmoxVE 之 安装oracle12C rac集群”)并且安装使用CDB和PD…

【Pascal's Triangle II 】cpp

题目&#xff1a; Given an index k, return the kth row of the Pascals triangle. For example, given k 3,Return [1,3,3,1]. Note:Could you optimize your algorithm to use only O(k) extra space? 代码&#xff1a; class Solution { public:vector<int> getRow…

【DP】HDU 2189 悼念512汶川大地震遇难同胞——来生一起走

打一个小于150的素数表 为了分成的组的人数不重复用dp[i][j] 表示 i表示i个人 j表示分成的组内的最大素数序号 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> #include <string> #include <iostream> #…