Matlab - Pasar una matriz a vector

   
Vista:

Pasar una matriz a vector

Publicado por Daniel aranda_daniel@hotmail.com (32 intervenciones) el 13/10/2011 22:28:46
Hola a tod@s,

Quería saber cómo puedo pasar una matriz a un vector?

Gracias y saludos
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 JOSE JEREMIAS CABALLERO

Pasar una matriz a vector

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (4037 intervenciones) el 14/10/2011 01:36:46
hOLA Daniel
este es una manera y la mas elemental

%===========================
>> A=rand(3,2)
A =
0.2785 0.9649
0.5469 0.1576
0.9575 0.9706

>> B=[A(:)]'
B =
0.2785 0.5469 0.9575 0.9649 0.1576 0.9706

%=================================

saludos
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR MATLAB
jjcc94@hotmail.com
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

Pasar una matriz a vector

Publicado por Daniel aranda_daniel@hotmail.com (32 intervenciones) el 14/10/2011 10:01:26
Sin duda una opción bastante buena.

Existe la forma de comparar los elementos de dicho vector con un bucle fo, de forma que el elemento que ocupa la posición 1 sea menor o igual que el elemento de la posición 2 e indicar a su vez en qué posición se produce el error??.

Un saludo!!

Daniel
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

Pasar una matriz a vector

Publicado por Daniel (32 intervenciones) el 14/10/2011 10:49:55
Quizás no me haya expresado con claridad.

Lo que pretendo hacer es, dada dicha matriz A=rad (3,2), comparar los elementos de la primera fila de la columna 1 con los elementos de la columna 2, y así sucesivamente, indicando si es menor o igual.

En caso de que no cumpla la condición, quiero producir, mediante un mensaje de error la posición de dicho fallo.


Gracias y espero que puedan ayudarme.

Saludos
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

Pasar una matriz a vector

Publicado por emilio (51 intervenciones) el 14/10/2011 14:13:38
si he entendido bn:

si deseas comparar A(i,j) con A(i,j+1)

for l=1:size(A,1)
for ll=1:size(A,2)-1

if abs(A(l,ll)-A(l,ll+1))<tol %%tambien puedes usar una división para compararlos
%% tol es tu tolerancia o medida de comparación
disp('son comparables')
else
disp('no son comparable')
disp([l ll ll+1]) %%la posición de los elementos que no eran comparables

end
end
end
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

Pasar una matriz a vector

Publicado por Daniel (32 intervenciones) el 14/10/2011 14:47:19
Gracias Emilio.

Lo pondré en práctica y te comento.

Saludos
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

Pasar una matriz a vector

Publicado por Daniel (32 intervenciones) el 14/10/2011 15:06:12
Emilio,

He probado la secuencia, pero no me funciona. El operador tol no es una función o variable de matlab, eso es lo que me pone.

A los dos vectores les da el mismo nombre???

Bueno espero que puedas ayudarme.

Saludos
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

Pasar una matriz a vector

Publicado por emilio (51 intervenciones) el 14/10/2011 16:07:00
tol debes definirlo tu, es tu tolerancia de "de cuanto se parecen"

ejemplo:
>> A=rand(6,6);
>> tol=10^-2;%%tu defines la tolerencia de acuerdo algun criterio
for l=1:size(A,1)
for ll=1:size(A,2)-1

if abs(A(l,ll)-A(l,ll+1))<tol %%tambien puedes usar una división para compararlos
%% tol es tu tolerancia o medida de comparación
disp('son comparables')
else
disp('no son comparable')
disp([l ll ll+1]) %%la posición de los elementos que no eran comparables

end
end
end
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

Pasar una matriz a vector

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (4037 intervenciones) el 15/10/2011 00:22:51
hola Daniel.
Al parecer quieres algo asi.
%==========================
clear all;
A=round(5*rand(5,3));
[f,c]=size(A);
for i=1:f
for j=1:c-1
if A(i,j)<A(i,j+1)
display('es menor');
elseif A(i,j)==A(i,j+1)
display('son iguales');
else
display(['es mayor', ' ubicacion:','fila:',num2str(i),'; columna:',num2str(j)]);
end
end
end
%=====================================

EJECUCION
>> comparar_vectores3
es menor
es mayor ubicacion:fila:1; columna:2
es menor
es mayor ubicacion:fila:2; columna:2
es mayor ubicacion:fila:3; columna:1
es menor
es menor
es menor
es mayor ubicacion:fila:5; columna:1
es menor

>> comparar_vectores3
son iguales
son iguales
es mayor ubicacion:fila:2; columna:1
son iguales
son iguales
es menor
es menor
es menor
es menor
es menor


>> comparar_vectores3
es menor
es mayor ubicacion:fila:1; columna:2
es menor
es mayor ubicacion:fila:2; columna:2
es menor
es menor
es mayor ubicacion:fila:4; columna:1
es mayor ubicacion:fila:4; columna:2
es menor
es mayor ubicacion:fila:5; columna:2



saludos
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR MATLAB
jjcc94@hotmail.com
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