我正在使用MATLAB并希望使用rectangle
函数来绘制矩形。我希望用户输入每个角落的坐标。我写了以下内容:
xR1 = input('x coordinate of the first rectangle corner?');
yR1 = input('y coordinate of the first rectangle corner?');
xR2 = input('x coordinate of the second rectangle corner?');
yR2 = input('y coordinate of the second rectangle corner?');
xR3 = input('x coordinate of the third rectangle corner?');
yR3 = input('y coordinate of the third rectangle corner?');
xR4 = input('x coordinate of the fourth rectangle corner?');
yR4 = input('y coordinate of the fourth rectangle corner?');
XRcoordinates = [xR1 xR2 xR3 xR4]
YRcoordinates = [yR1 yR2 yR3 yR4]
width = max(XRcoordinates) - min(XRcoordinates)
height = max(YRcoordinates) - min(YRcoordinates)
rectangle('Position', min(XRcoordinates), min(YRcoordinates),width,height)
axis([0 max(XRcoordinates) 0 max(YRcoordinates) ])
当我运行它时,我输入以下内容
xR1 = 2
yR1 = 3
xR2 = 2
yR2 = 5
xR3 = 4
yR3 = 5
xR4 = 4
yR4 = 3
然而,我收到以下错误消息:
使用
时出错rectangle
无法为此对象指定便捷arg
script1
(第37行)错误
rectangle('Position', min(XRcoordinates),min(YRcoordinates),width,height)
第一条错误消息是什么意思? 有什么问题?
答案 0 :(得分:3)
您没有正确地呼叫rectangle
。如果您使用Position
标记,则第二个参数需要四个元素向量。您正尝试使用五个参数调用rectangle
。但是,您应该格式化此向量的方式与Position
标志之后的输入参数完全对应,因此您真正需要做的就是将它们封装到向量中。
此外,您可能希望将矩形的颜色更改为其他颜色,因为默认颜色为黑色。尝试将其更改为红色。我们可以在Position
标志后添加其他参数。
同样,这样做:
rectangle('Position', [min(XRcoordinates), min(YRcoordinates),width,height], 'EdgeColor', 'red');