matlab set语句

set(balls,'ydata',y(j));这段代码报错 其中ball是
balls=line(0,0,'color','r','linestyle','.','erasemode','xor', 'markersize',30);
Error using ==> set
There is no 'ydata' property in the 'root' class.
Error in ==> main2 at 37
set(balls(j),'ydata',y(j));
我的那个用法的事例是这个:set(head,'xdata',t,'ydata',y);%设置球的运动,他的都可以,我的却不行啊。
或者谁给想个替代的办法吧。

我给你试过了 matlab 2011b中
balls=line(0,0,'color','r','lineStyle','.','eraseMode','xor', 'markerSize',30);
set(balls,'ydata',0.4); % 0.1, 0.2 ,。。。等等。
改变数值可以移动小球的位置。
没有问题。属性的第二个单词的手写字母要大写。
坐标轴的显示范围可以用set设置,比如set(gca,'XLim',[0 5],'YLim',[0 5]);
balls得到的是一个数值,balls(j)好像不行。追问

是这样的,我的程序里要画多个小球,希望是用句柄数组,为什么balls()就不行呢?

追答

多个啊,也可以啊。
给你试了一下,图片你看
我画了5个,你可以改。

for i=1:1:5
balls(i)=line(0,0,'color','r','eraseMode','xor', 'markerSize',30);

end
xData=[1 2 3 4 5];
yData=[1 2 3 4 5];
set(balls,'ydata',yData,'xdata',xData);
xData yData 你随意设置就行了。

代码给你了,都试验了,图都贴出来了,加分吧。
你这样的就欠以后不搭理你 !

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-01-31
根据错误提示,你的balls(j)结果不是一个句柄了,你确定一下balls(j)的结果是多少,感觉你索引出来是0,所以出现错误了。
不用替代,这种方法肯定是可以的,只不过你索引结果出错了应该。
相似回答