我是靠谱客的博主 长情冥王星,最近开发中收集的这篇文章主要介绍matlab 回调函数,在Matlab中将实际值传递给回调函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

看起来您正在尝试存储鼠标单击位置的值,然后将这些值用作resize函数的一部分(稍后将调用它).我会做一些改变.

首先,使用另一个回调来捕获鼠标单击,而不是while循环.例如,您可以使用图形ButtonDownFcn回调来触发一个功能,该功能旨在将鼠标位置捕获到某个位置.

其次,有更好的方法来存储鼠标位置,正确的方法将取决于您的技能水平和您的程序的需要.其中一些存储数据的方法是:

>在另一个回调的参数中,就像你现在正在做的那样.这非常痛苦,但它可能有效.如果它足以满足您的需求,您可以保留它.

>大多数Matlab对象中的“userdata”字段.一些人提出了这个问题,它会很好.我不喜欢依赖于此,因为我总是担心其他一些工具也会想要使用userdata字段,而工具会覆盖数据.

>全局变量值.我不喜欢使用全局变量,出于同样的原因我不喜欢使用userdata字段.但是全局变量有时候是最好的解决方案.如果您一次只有一个数字,这可能是解决您问题的最简单,最省力的解决方案. (多个数字将推动您使用userdata解决方案作为最简单的解决方案.)

>提供一个句柄类来存储一些数据(即x和y),并将该类的副本提供给两个回调中的每一个(ButtonDownFcn和ResizeFcn).这允许两个函数传递数据,而不会污染任何其他人的命名空间.这是我最喜欢的解决这类问题的方法,所以我将在下面给它一个更详细的描述.

要执行上面的选项(4),需要一个类来存储看起来像这样的数据:

classdef ApplicationData < handle

properties (SetAccess = public, GetAccess = public)

x = [];

y = [];

end

end

请注意,由于ApplicationData扩展了句柄,因此Matlab将其视为传递引用对象,这对

最后

以上就是长情冥王星为你收集整理的matlab 回调函数,在Matlab中将实际值传递给回调函数的全部内容,希望文章能够帮你解决matlab 回调函数,在Matlab中将实际值传递给回调函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部