Matlab - Bucles e instrucciones

 
Vista:

Bucles e instrucciones

Publicado por Juan Fuentes (1 intervención) el 31/05/2021 04:07:35
POR FAVOR ALGUIEN ME PUDIERA AYUDAR CON ESTE EJERCICIO.

Crear un programa en Matlab que le permita al usuario especificar las dimensiones de una matriz, y automáticamente esta sea llenada de la siguiente forma:

Todos los elementos que se encuentren en posiciones impares deberán ser llenado con números consecutivos con incrementos de 1.

Todos los elementos que se encuentren en posiciones pares deberán ser llenados con números negativos consecutivos con decrementos de -1

Debe quedar algo así:

1 -1 2
2 3 -3
4 -4 5
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jon
Val: 354
Ha aumentado 1 puesto en Matlab (en relación al último mes)
Gráfica de Matlab

Bucles e instrucciones

Publicado por Jon (161 intervenciones) el 31/05/2021 13:20:32
Buenos días Juan,

Por favor, especifica más la pregunta y añade algún ejemplo.

¿Qué son posiciones impares y pares en una matriz? ¿Incrementos de 1 y -1 respecto a qué valor?

Un saludo,

Jon
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 918
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Bucles e instrucciones

Publicado por Daniel (354 intervenciones) el 31/05/2021 18:30:22
Hola,

Como comenta Jon el enunciado no es claro y puede dar lugar a varias soluciones. En Matlab si solo se indica una dimensión en una matriz esta se recorrerá por columnas, por lo que se puede asumir este como criterio de ordenación de los elementos. Así se puede hacer lo que se pide con el código

1
2
3
4
5
6
cols = 3;
rows = 3;
 
mat = zeros(rows, cols);
mat(1:2:end) = 1:length(mat(1:2:end));
mat(2:2:end) = -(1:length(mat(2:2:end)))

1
2
3
4
5
mat =
 
     1    -2     4
    -1     3    -4
     2    -3     5

Aunque, como se ve en las instrucciones parece que se desea recorrer por filas no por columnas, algo que para las matrices cuadradas se puede solucionar simplemente trasponiendo la matriz.

1
2
3
4
5
6
7
8
>> mat'
ans =
     1    -1     2
    -2     3    -3
     4    -4     5

Saludos,
Daniel Rodríguez.
Analytics Lane
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar