matlab结构数组里的句柄调用

clc;clearall;closeall;data=struct('h',{},'XData',{});fori=1:5t=0:2*pi/30:2*pi;x=i*sin... clc;
clear all;
close all;
data=struct('h',{},'XData',{});
for i=1:5
t=0:2*pi/30:2*pi;
x=i*sin(t);
y=cos(t);
data(i).h=plot(x,y);
data(i).XData=get(data(i).h,'XData');
end
axis equal;
axis([-5,5,-5,5]);
for t=1:10
con=get(data(1).h);
end
报错:
Error using handle.handle/get
Invalid or deleted object.

Error in testhand (line 16)
con=get(data(1).h);

为什么第二个循环中data(1).h不能用?
展开
 我来答
WM_THU
2013-11-09 · TA获得超过7164个赞
知道大有可为答主
回答量:4285
采纳率:80%
帮助的人:3920万
展开全部
data(i).h=plot(x,y);

原因是分配句柄的时候没有figure。连续的使用plot会导致后一次的画图覆盖前一次的结果,因此for循环结束后只有最后一个h是有效的。
应该:
data(i).h=fugure; plot(x,y);
追问
能不能在同一个figure里获取不同图形的句柄呢?
追答
至少对于plot绘图,这个做法还没听说过。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
泡影果果616
推荐于2016-04-21 · 知道合伙人软件行家
泡影果果616
知道合伙人软件行家
采纳数:2005 获赞数:71338
软件技术从上学的时候就在研究,虽没最强大脑那般无敌,但依靠后天的勤奋学习,相信可以很专业的帮助更多人

向TA提问 私信TA
展开全部
matlab结构数组里的句柄调用如下:
假设excel数据的值为A
for i=1:length(A)
variable = A(i) %依次调用数组的值赋值给同一个变量
…………………………
end
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式