Matlab中2014版本后部分含EraseMode语句不能运行问题

fill([6,7,7,6],[5,5,0,0],[0,0.5,0]);%右边竖条的填充
hold on;%保持当前图形及轴系的所有特性
fill([2,6,6,2],[3,3,0,0],[0,0.5,0]);%左边竖条的填充
hold on;% 保持当前图形及轴系的所有特性
t1=0:pi/60:pi;
plot(4-2*sin(t1-pi/2),5-2*cos(t1-pi/2));%绘制中间的凹弧图形
grid on;%添加网格线
axis([0,9,0,9]);%定义坐标轴的比例% 
axis('off');%关闭所有轴标注,标记,背景
fill([1,2,2,1],[5,5,0,0],[0,0.5,0]);%中间长方形的填充
hold on;% 保持当前图形及轴系的所有特性
title('碰撞');%定义图题
x0=6;
y0=5;
head1=line(x0,y0,'color','r','linestyle','.','erasemode','xor','markersize',30);
head2=line(x0,y0,'color','r','linestyle','.','erasemode','xor','markersize',50);%设置小球颜色,大小线条的擦拭方式 
t=0;%设置小球的初始值
dt=0.001;%设置运动周期
t1=0;%设置大球的初始值
dt1=0.001;
while 1%条件表达式
t=t+dt;
x1=9-1*t;
y1=5;
x3=6;
y3=5;
if t>0
x2=6;
y2=5;%设置小球的运动轨迹
end
if t>2.8
t=t+dt;
a=sin(t-3);
x1=6.1;
y1=5.1;
x3=4-2*sin(1.5*a);
y3=5-2*cos(1.5*a);%设置大球的运动轨迹
end
set(head1,'xdata',x1,'ydata',y1);%设置球的运动
set(head2,'xdata',x3,'ydata',y3);
drawnow;
end

这串代码在低版本Matlab可以运行,是一个动态两个小球碰撞的动画。结果代码在2014版本后的matlab软件不能运行。提示是linestyle有问题,修改后,又提示如下错误

??? Invalid handle object.

Error in ==> Untitled2 at 39
set(head1,'xdata',x1,'ydata',y1);%设置球的运动

警告: EraseMode 属性不再受支持,而且在以后的版本中会出错。请使用 ANIMATEDLINE 函数来生成线和点动画,而不是 EraseMode 'none'。删除设置为 'normal'、'xor' 和
'background' 的 EraseMode 实例的影响极小。 

EraseMode函数在2014版本后不能使用了

试问,如何修改代码才能实现程序的运行?

你可以看下这个问答,和你的问题一样,希望对你有帮助求助matlab绘制动画命令 – MATLAB中文论坛 (ilovematlab.cn)

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632