Borrar filtros
Borrar filtros

Write a function drawBox which draws boxes on the screen

2 visualizaciones (últimos 30 días)
Khalid Khan
Khalid Khan el 30 de Nov. de 2016
Respondida: Abu Yamen el 3 de Dic. de 2016
I got a task but I am confused. This is My task The function is called with a character (ch) as the first argument and two positive integers which represent the width and the height of the box to be drawn. It automatically draws a box with the character (ch) by the specified width and height. Can Anyone help me out with the task.
  1 comentario
Abu Yamen
Abu Yamen el 3 de Dic. de 2016
function []= drawBox('s',w,h)
ch =input('ch-ch ','s'); w =input('width : '); h =input('hight : ');
x = repmat(ch, h, w); x(2:end-1, 2:end-1) = char(32); disp(x); end

Iniciar sesión para comentar.

Respuesta aceptada

KSSV
KSSV el 30 de Nov. de 2016
Editada: KSSV el 30 de Nov. de 2016
function drawBox(str,w,h)
ch = [0. 0.] ;
%%get four corners of box
N = 20 ;
x = linspace(ch(1),ch(1)+w,N) ;
y = linspace(ch(2),ch(2)+h,N) ;
[X,Y] = meshgrid(x,y) ;
X(2:end-1,2:end-1) = NaN ;
Y(2:end-1,2:end-1) = NaN ;
x = X(~isnan(X)) ;y = Y(~isnan(Y)) ;
plot(x,y,'.w') ; hold on
text(x,y,str)
axis off
  4 comentarios
Khalid Khan
Khalid Khan el 30 de Nov. de 2016
Editada: Khalid Khan el 30 de Nov. de 2016
Thank You Sir It worked
rim
rim el 2 de Dic. de 2016
Editada: rim el 2 de Dic. de 2016
its not working for me , please help me with this question its showing error in functio drawBox

Iniciar sesión para comentar.

Más respuestas (2)

KSSV
KSSV el 30 de Nov. de 2016
what is ch? Actually to draw a box four numbers are needed. First two position/ origin of the box and then width, height. I think ch is a 1x2 array with two numbers which represent position of the box.
ch = [1. 1.] ;
h = 1. ;
w = 0.5 ;
box = [ch w h] ;
%%get four corners of box
p = [ch(1) ch(2) ;
ch(1)+w ch(2) ;
ch(1)+w ch(2)+h ;
ch(1) ch(2)+h ;
ch(1) ch(2)] ;
plot(p(:,1),p(:,2),'r')
  3 comentarios
feg bog
feg bog el 30 de Nov. de 2016
Editada: feg bog el 30 de Nov. de 2016
the given code do not give the wanted output is there is wrong on the code , or what !! i am confused i.e. is necessary to use plot or normal printf code?

Iniciar sesión para comentar.


Abu Yamen
Abu Yamen el 3 de Dic. de 2016
function []= drawBox('s',w,h)
ch =input('ch-ch ','s'); w =input('width : '); h =input('hight : ');
x = repmat(ch, h, w); x(2:end-1, 2:end-1) = char(32); disp(x); end

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by