原因是这样的,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 *** 作 当前 图等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)