matlabdatacursormode图形句柄无效

matlabdatacursormode图形句柄无效,第1张

原因分析:“句柄无效”通常是编程的错误,或是丢失或更改了某些系统文件。也可能是dircetx错误,或者是丢失了某些动态连接库的DLL文件。重

解决方法:新下载一个directx90c,安装试试。如果还不行,就重装 *** 作系统,这样做比较省事。

subplot(2,1,1); 是把整个figure分成两行一列,然后在其第一行这个区域画图的,所以会铺满

subplot('Position',[left bottom width height]) %先设定好区域

plot(u1); %再画图,就可以了

要在MATLAB GUI界面中的axes中显示m文件绘制的图像,可以采用以下步骤:

在GUI中添加一个axes控件,可以通过GUIDE工具或手写代码实现。

在m文件中使用绘图函数,如plot、imshow等生成图像。

在GUI代码中获取axes句柄,并将图像绘制到该句柄对应的axes中。

具体实现代码如下所示:

在GUI中添加axes控件:

axes_handle = axes('Units','normalized', 'Position',[01, 01, 08, 08]);

在m文件中绘制图像:

% 示例绘制一张随机图像

img = rand(100, 100);

imshow(img);

在GUI代码中将图像绘制到axes中:

% 获取axes句柄

axes_handle = handlesaxes1; % handles为GUI界面句柄结构体

% 在axes中绘制图像

axes(axes_handle);

imshow(img);

这样,m文件中生成的图像就会显示在GUI界面的axes中了。需要注意的是,axes的坐标系与MATLAB中默认的坐标系不同,需要在绘图时根据需要进行转换。

callback不是默认就有两个参数吗,我记得其中一个就是你要的那个东西。就算不是,callback也可以自己加参数的,你把你要的句柄作为参数加进去就行了。

试了一下就是第一个参数啊

function Untitled3

f=figure(1);

s1=uicontrol(f,'style','pushbutton','String','123','position',[100 50 60 50],'callback',@setnum);

end

function setnum(a,~)

set(a,'string','345');

end

最简单的用@符号获取函数句柄。

int(@sin)

或者用inline也可以,

fun=inline('sin(x)');

int(fun)

希望能解决您的问题。

以上就是关于matlabdatacursormode图形句柄无效全部的内容,包括:matlabdatacursormode图形句柄无效、Matlab GUI 调用函数后如何设置图形句柄、matlab 的m文件绘制的图像怎么在gui界面的axes中显示等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9468596.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存