这个问题出在初始化圆心横纵坐标的时候,xx和yy都是数组,所以在用rectangle函数的时候里面的xx-r和yy-r也是数组:[0,10,20,30](两个相同),
而rectangle('Position',[x,y,w,h],'Curvature',[x,y]),要求x和y为起始点坐标,w和h分别为宽和高,Curvature后面是曲率。你的想法是代入4个x和y,半径相同(w和h相同),然后画个4圆,但是如果x和y是数组rectangle就出现了问题,一种解决办法是用循环,每次画1个:
clear all;
close all;
xx=[10,20,30,40];
yy=[10,20,30,40];
r=10;
for i=1:length(xx) //这里length(xx)=4,就是要花的圆的个数
x=xx(i); //第i个圆,圆心横坐标
y=yy(i); //第i个圆,圆心纵坐标
rectangle('Position',[x-r,y-r,2*r,2*r],'Curvature',[1,1]);
hold on; //用hold on,把4个圆画到一个图中
end
运行去掉//以及之后的注释内容。