Borrar filtros
Borrar filtros

im stuck on making a layered matrix

1 visualización (últimos 30 días)
Tristan Murphy
Tristan Murphy el 3 de Mayo de 2019
Comentada: Tristan Murphy el 3 de Mayo de 2019
function surround = surroundWith(a,b)
%function will take a given matrix 'a' and create a ring of numbers 'b' around
%it
surround = zeros(size(a,1)+2,size(a,2)+2); %sets the size of the matrix after the numbers b has been placed around 'a'
for ii = 1:size(a,1)+2
for jj = 1:size(a,2)+2
if (ii == 1 || ii == size(a,1)+2 || jj == 1 || jj == size(a,2)+2)
surround(ii,jj) = b; %setting the ring of pre-allocated zeros around 'a' to be 'b'
end
end
end
for kk = 1: size(a,1)
for ll = 1:size(a,2)
surround(kk+1,ll+1) = a(kk,ll);%setting the zeros within b to the numbers stored in 'a' at the corresponding locations
end
end
end
% if a = [1,2,3:4,5,6], and b = 5 the matrix should come out as:
5 5 5 5 5
5 1 2 3 5
5 4 5 6 5
5 5 5 5 5
im attempting to recreate this using only one parameter and to create a matrix with a 1 at the centre with a ring of numbers layered on top of eachother, increasing in value up to 'b' as the distance from the centre increases so:
%so layeredMatrix(5) should output:
5 5 5 5 5 5 5 5 5
5 4 4 4 4 4 4 4 5
5 4 3 3 3 3 3 4 5
5 4 3 2 2 2 3 4 5
5 4 3 2 1 2 3 4 5
5 4 3 2 2 2 3 4 5
5 4 3 3 3 3 3 4 5
5 4 4 4 4 4 4 4 5
5 5 5 5 5 5 5 5 5
ive been having a lot of trouble with this and would appriciate any help

Respuesta aceptada

Geoff Hayes
Geoff Hayes el 3 de Mayo de 2019
Tristan - why not use a for loop
surround = 1;
for k = 2:5
surround = surroundWith(surround, k);
end
  5 comentarios
Geoff Hayes
Geoff Hayes el 3 de Mayo de 2019
Editada: Geoff Hayes el 3 de Mayo de 2019
since you are told that this solution would be very helpful then I don't understand why you can't use it. :)
function layered = makelayered(a)
layered = 1;
for k = 2:a
layered = surroundWith(layered, k);
end
end
Tristan Murphy
Tristan Murphy el 3 de Mayo de 2019
alrighty thanks for all the help :)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by