使用基本的MatLab函数解决我的逻辑中的问题
我正在尝试创建一个简单的MatLab脚本,只是学习了一些基础知识,但在使用自定义函数时遇到了一些问题 我试图通过一个函数通过直线创建一个矩形,我得出了以下结论:使用基本的MatLab函数解决我的逻辑中的问题,matlab,Matlab,我正在尝试创建一个简单的MatLab脚本,只是学习了一些基础知识,但在使用自定义函数时遇到了一些问题 我试图通过一个函数通过直线创建一个矩形,我得出了以下结论: function rectfunction(x,y,w,h) x1 = [x,x+w,x+w,x,x,x+w,x+w,x] y1 = [y+h,y+h,y,y,y,y,y+h,y] line([x1,y1]) %top %line([x,y+h],[x+w,y+h]) %bottom %line([x+w,y],[x,y]) %le
function rectfunction(x,y,w,h)
x1 = [x,x+w,x+w,x,x,x+w,x+w,x]
y1 = [y+h,y+h,y,y,y,y,y+h,y]
line([x1,y1])
%top
%line([x,y+h],[x+w,y+h])
%bottom
%line([x+w,y],[x,y])
%left
%line([x,y],[x+w,y])
%right
%line([x+w,y+h],[x+w,y])
最后注释掉的代码是最有效的版本,只有在x/y或w/h值不同时才会出现问题。我被告知要像我尝试的那样使用向量,但现在似乎什么也画不出来
我在另一个脚本中称之为:
axis([0 100 0 100])
rectfunction(20,20,60,60)
在此问题上的任何帮助都将不胜感激,谢谢
编辑:我应该补充一点,这是早期大学作业的一部分,我不能简单地使用“矩形”,因为它违背了研讨会的目的
另外,下面是一个示例,说明我的注释掉的代码如何错误地处理不同的值:
但是,如果x/y和w/h使用相同的值,则绘制得很好。如果函数中的点太多,则只需:
function rectfunction(x,y,w,h)
x1 = [x,x+w,x+w,x,x];
y1 = [y+h,y+h,y,y,y+h];
line(x1,y1)
不管x/y和w/h是否使用相同的值,它都应该工作。+1用于发布尝试