matlab gui句柄值问题

matlab gui句柄值问题,第1张

原因是这样的,matalb默认显示double浮点数字,只显示4位小数,你看到的那个4900011其实后面还有小数位的,只是没有显示出来,所以你get 4900011,它会认为这个句柄是不存在的,想把句柄的全部小数位都显示出来可以这样,比如:

>> allchild(gcf)

ans =

1730284

1440284

1320284

1310284

800284

640284

570284

370284

180284

00284

>> vpa( a( 1 ), 20 )

ans =

1730284423828125

然后再get 1730284423828125这个完整的浮点数,就可以获取到句柄信息。

要在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中默认的坐标系不同,需要在绘图时根据需要进行转换。

可以使用set函数,通过句柄来对图像进行修改。

1MATLAB给每种对象的每一个属性规定了一个名字,称为属性名,而属性名的取值成为属性值。例如,LineStyle是曲线对象的一个属性名,它的值决定着线型,取值可以是'-' 、':'、'-'、'--'或'none'。

2属性的 *** 作

set函数的调用格式为:

set(句柄,属性名1,属性值1,属性名2,属性值2,…)

例子:

clear

x=0:02:12;

y1=bessel(1,x);

y2=bessel(2,x);

y3=bessel(3,x);

h=plot(x,y1,x,y2,x,y3);

set(h,{'LineWidth'},{2;5;8}) %set(h,{'LineWidth'},{2})==set(h,'LineWidth',2),将所有线宽设置为2

set(h,{'Color'},{'r';'g';'b'},{'LineStyle'},{'--';':';'-'}) %设置颜色和线宽

axis([0 12 -05 1]) %设置坐标轴范围

grid on

X=0:1:12;

Y=-05:025:1;

set(gca,'xtick',X,'ytick',Y) %设置网格的显示格式,gca获取当前figure的句柄

set(xlabel('Time'),'FontSize',12,'Color','r')

y=ylabel('Amplitude');

set(y,'FontSize',12,'Color','g')

legend(h,'First','Second','Third') %添加图例

title('Bessel Functions') %添加标题

[y,ix]=min(y1); %找到y1的最小值以及改值的下标,赋给y和ix

text(x(ix),y,'First Min \rightarrow','HorizontalAlignment','right') %插入文本

具体可改哪些属性值见贴

>

你的plot函数使用错误,可以用feval函数执行句柄函数如下,这样便可以了

1

>> sine_handle=@sin;

>> plot([0:001:6],feval(sine_handle,[0:001:6]))

2

function x=gen_plot(fun_handle,interval)

plot(interval,feval(fun_handle,interval))

>> gen_plot(sine_handle,[0:001:6])

希望能对你有所帮助!互相学习!

以上就是关于matlab gui句柄值问题全部的内容,包括:matlab gui句柄值问题、matlab 的m文件绘制的图像怎么在gui界面的axes中显示、matlab *** 作 当前 图等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9610840.html

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

发表评论

登录后才能评论

评论列表(0条)

保存