1,751 views (last 30 days)

Show older comments

I'm trying to create two squares, one larger one, and the other within it.

I attempted to create one using matrices. I create one with x = [0 0 1 1] and y = [0 1 1 0]

I wanted a line to connect each one of the points, to thus create a line. However, when I did that, I only received three lines connect between the dots for some reason. The bottom points (0,0) and (1,0) for some reason were not connected. I then attempted to make a second square, and the same thing happened, with the two lower points in regards to their Y points did not connect. I tried using the rectangle function as well, but can't get a square within a square to appear. Any help would be great. Thanks

NAGENDRA KUMAR
on 12 Sep 2017

Please write this code x = [0 0 1 1 0]; y = [0 1 1 0 0]; plot(x,y,'r', 'LineWidth',3)

Image Analyst
on 8 Oct 2013

Edited: Image Analyst
on 8 Oct 2013

You need 5 points - the last one is to "close off" the square, otherwise it won't be closed because you didn't draw the line back to the starting point. So, try this

x1=0;

x2=1;

y1=0;

y2=1;

x = [x1, x2, x2, x1, x1];

y = [y1, y1, y2, y2, y1];

plot(x, y, 'b-', 'LineWidth', 3);

hold on;

x1=0.25;

x2=.75;

y1=0.25;

y2=.75;

x = [x1, x2, x2, x1, x1];

y = [y1, y1, y2, y2, y1];

plot(x, y, 'b-');

xlim([-1, 2]);

ylim([-1, 2]);

Image Analyst
on 8 Oct 2013

Camilo Malagon Nieto
on 8 May 2019

Worth to say that there is a function now to make a rectangle and smooth the corners.

Cheers,

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!