我的逻辑中的问题与基本的MatLab功能

时间:2014-10-05 12:32:46

标签: 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])
%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)

非常感谢任何有关此事的帮助,谢谢。

编辑:我应该补充一点,这是早期大学任务的一部分,我不能简单地使用“矩形”,因为它会破坏研讨会的目的

另外,这里是我注释掉的代码如何错误处理不同值的示例:

enter image description here

但是,如果x / y和w / h使用相同的值,它确实很好。

1 个答案:

答案 0 :(得分:1)

你的功能中有太多分,你需要:

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是否使用相同的值,它都可以正常工作。