触发一个带有参数的一个方法,又想获取event对象,可以这个写

有时候有些业务需求是触发一个带参数的方法时,又想获取event对象,可以这么写:

 

<input type="button" value="121212" οnclick="eventTest(1,2)" />
    
    <script type="text/javascript">
        
        function eventTest(a,b){
            var event = window.event || arguments.callee.caller.arguments[0]
            //target 就是这个对象
            target = event.srcElement||event.target,
            //这个对象的值
            targetValue = target.value;
            console.log(a,b,event)   //1 2 "121212"
        }
        
    </script>

好的,下面将为您介绍如何使用 MATLAB 编一个简单的上位机程序来设置 PID 控制器的三个系数 (Kp、Ki 和 Kd)。 ### 一、理解需求 首先我们需要明确几个关键点: 1. **PID控制器**是一种线性控制算法,在工业自动控制系统广泛应用。 2. 这里提到的“上位机”是指通过计算机软件界面去监控或调整下层硬件设备的工作状态的应用程序。 3. 我们的目标是在MATLAB环境中创建用户交互界面(UI),允许用户手动输入PID参数,并能发送这些值到实际运行PID控制的地方(如Arduino等嵌入式系统或者是模拟环境内). ### 二、设计思路 为了达到上述目标,可以考虑利用MATLAB自带GUI工具GUIDE(Graphical User Interface Development Environment),它可以帮助我们快速构建图形化用户界面并添加必要的组件,比如文本框用于接收用户的数值输入以及按钮触发事件处理函数向外部传输数据。 另外还可以选择App Designer这个更现代化的方式来做同样的事情。这里以最基础的功能为例进行说明: #### 步骤1 - 创建UI元素 - 启动MATLAB后可以选择新建APPDesigner项目; - 拖拽三个编辑区域(Edit Field)作为接受KP,KI,KD参数的位置; - 放置一个Push Button用来确认提交这三个参数; #### 步骤2 - 实现功能逻辑 当点击Submit按钮时读取各个编辑域里的内容,然后将其转换成合适的数字形式保存下来供后续使用。 ```matlab % 假设已经建立了名为app的对象并且有属性分别对应了kp ki kd 的控件 methods (Access = private) % 定义回调函数 当按下submit button之后会调用此方法 function submitButtonPushed(app,event) try kpStr=app.KpEditField.Value; % 获取文本框中的字符串表示 kiStr=app.KiEditField.Value; kdStr=app.KdEditField.Value; app.kp=str2double(kpStr); % 将获取的内容转化为double型浮点数存放到对象内部变量中 app.ki=str2double(kiStr); app.kd=str2double(kdStr); if isnan(app.kp)||isnan(app.ki)||isnan(app.kd) error('请输入有效的数字!'); end disp(['收到新的pid参数:',num2str([app.kp,app.ki,app.kd])]); % 如果需要的话可以在这一行加入与底层通信的代码, % 把这组新设定发出去... catch ME uiwait(errordlg(ME.message)); end end end ``` 以上就是基于MATLAB GUI的一个简单示例框架,当然如果你还需要进一步完善例如连接串口通讯等功能,则可以根据具体应用场景继续拓展该应用程序的功能模块。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值