2016-08-14 179 views
0

我想绘制多个圆心,以中心为先前已确定的质心。绘制多个圆圈

所以我有这个代码使用质心作为圆心,但我得到的错误:“错误使用+矩阵尺寸必须同意。”

r = 4; 
cen_x = centroid(:,1); 
cen_y = centroid(:,2); 
th = 0:pi/50:2*pi; 
xunit = r * cos(th) + cen_x; 
yunit = r * sin(th) + cen_y; 
hold on 
h = plot(xunit, yunit); 

任何帮助?

回答

0

您尝试添加cos(th)cen_x在一起,它们的尺寸不匹配。您将需要使用bsxfun,以便适当地广播尺寸。您可以使用rectangle来为您绘制圈子。您也可以指定一个FaceColor来填充它们。

positions = [centroid - (r/2), r + zeros(size(centroid))]; 

for k = 1:size(positions, 1) 
    rectangle('Position', positions(k,:), 'Curvature', [1 1], 'FaceColor', 'r'); 
end 
+0

很好地完成。我很好奇你是否可以使用'imfill'函数来填充这些圆圈? – Idrawthings

+0

非常感谢! – Idrawthings