Matlab - Matlab valores de matriz como vector

   
Vista:

Matlab valores de matriz como vector

Publicado por Alejandro Castillo (2 intervenciones) el 29/11/2017 00:08:53
Hola, tengo que hacer una función en Matlab que encuentre la posición (fila y columna) del número deseado en una matriz. Ya tengo la función solo que requiero que las coordenadas se muestren como vector, y no hacia abajo, espero me puedan ayudar.

1
2
3
4
5
6
7
8
9
function [p]=busca(m,nb)
 
for i=1:length(m)
  for j=1:length(m)
[i,j]=find(m==nb);
p=[i,j];
 
end
end

Poniendo en la command window >> [p]=busca([12 -6 0;-6 15 0; 5 1 0],0)
el resultado es este:
p =
1 3
2 3
3 3

Quisiera que lo muestre como vector:

1 3 2 3 3 3
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 JESUS DAVID ARIZA ROYETH

Matlab valores de matriz como vector

te recomiendo que leas sobre el comando reshape :

https://www.mathworks.com/help/matlab/ref/reshape.html

si haces
1
p=reshape(p,1,[])
obtienes lo que deseas
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
Imágen de perfil de JOSE JEREMIAS CABALLERO

Matlab valores de matriz como vector

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (4811 intervenciones) el 29/11/2017 13:11:23
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function p=busca(m,nb)
%p=busca([12 -6 0;-6 15 0; 5 1 0],0)
if nargin==0
    m=[12 -6 0;-6 15 0; 5 1 0];
    nb=0;
end
    for i=1:length(m)
             for j=1:length(m)
                     [i,j]=find(m==nb);
                     p=[i,j];
             end
    end
    u=[];
    for i=1:size(p)
    u=[u p(i,:)];
    end
    p=u;

1
2
3
>> [p]=busca([12 -6 0;-6 15 0; 5 1 0],0)
p =
     1     3     2     3     3     3


Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Matlab valores de matriz como vector

Publicado por Alejandro Castillo (2 intervenciones) el 30/11/2017 08:00:51
Muchas gracias justo lo que necesitaba, solo hay un detalle, mi intención es usar esto para buscar otros valores, como tendría que modificar estas 3 líneas para ello?
if nargin==0
m=[12 -6 0;-6 15 0; 5 1 0];
nb=0;

quitandolas la función aún muestra los valores, el problema es que no en el orden que aparecen en la matriz, esa es mi intención, que muestre los valores en el orden que aparezcan y que esas 3 líneas que creo que son las que dan ese orden funcionen para cualquier matriz y cualquier valor introducidos en la command window, sin tener que cambiar la función cada vez, espero pueda ayudarme y muchas gracias de antemano.
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
Imágen de perfil de JOSE JEREMIAS CABALLERO

Matlab valores de matriz como vector

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (4811 intervenciones) el 30/11/2017 12:26:35
1
2
3
4
5
6
7
8
9
10
11
12
function p=busca(m,nb)
    for i=1:length(m)
             for j=1:length(m)
                     [i,j]=find(m==nb);
                     p=[i,j];
             end
    end
    u=[];
    for i=1:size(p)
    u=[u p(i,:)];
    end
    p=u;

1
2
3
4
>> [p]=busca([12 -6 0;-6 15 0; 5 1 0],0)
p =
     1     3     2     3     3     3
>>

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
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
Revisar política de publicidad