关于Data Source属性的问题
通过Data Source属性和refreshdata 可以实现图形数据的更新,但是在使用时遇到一个问题,想请教一下。YDataSource里的数据为double时无问题,但是使用复数画圆时,画图不正确。在help里找不到解答。
程序见下:
clear all
clc
t = 0:pi/20:2*pi;
y = exp(sin(t));
h1 = plot(t,y,'YDataSource','y');
for k = 1:.1:10
y = exp(sin(t.*k));
refreshdata(h1,'caller')
drawnow; pause(.1)
end
% 画圆
t = linspace(0,pi*2,100);
z = 100+100*i+100*exp(i*t);
figure
h2 = plot(z,'YDataSource','z');
axis();axis equal; axis tight;
for k = 0:.01:1
z = 100+100*i+k*100*exp(i*t);
refreshdata(h2,'caller')
drawnow; pause(.1)
end 没有人能解释一下吗?看来只好老老实实的改用x,y坐标画圆了。
% 画圆
t = linspace(0,pi*2,100);
x = 100+100*cos(t);
y = 100+100*sin(t);
figure
h2 = plot(x,y,'XDataSource','x','YDataSource','y');
axis();axis equal; axis tight;
for k = 0:.01:1
x = 100+k*100*cos(t);
y = 100+k*100*sin(t);
refreshdata(h2,'caller')
drawnow; pause(.1)
end
以上在matlab R2006a中实现
页:
[1]