Matlab - Problemas con vectores fila de una matriz

 
Vista:

Problemas con vectores fila de una matriz

Publicado por Ramon (11 intervenciones) el 04/01/2010 17:31:05
Tengo un problema:

tengo una matriz A de nxm, necesito obtener n vectores cuyos componentes sean las n filas de la matriz A, por ejemplo:

1 2 3
A= 4 5 6
7 8 9

v(1)= [1 2 3]
v(2)=[4 5 6]
v(3)= [7 8 9]

sé que con v=A(1,:) obtengo el que hemos llamado v(1), pero no sé cómo obtener de manera automática el resto de vectores. Tengo esto:

for i=1:N;
v=y(i,:); %vectores de las filas de la matriz de admitancias
end

siendo "y" la matriz de la que quiero sacar esos vectores y "N=5" en este caso, pero no tengo forma de obtenerlos por separado, pues siempre me aparece como resultado de "v" la última fila de la matriz, pero el resto de filas no, generándose sólo un único vector "v".
He probado con v(i), con v(i,j)...con mil historias, pero no me sale.
Podéis ayudarme???
Muchas gracias de antemano.
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

RE:Problemas con vectores fila de una matriz

Publicado por Kike (304 intervenciones) el 04/01/2010 22:44:47
Es mejor operar con una sola matriz que con n vectores. De esta manera se necesita aplicar el algoritmo a la matriz una sola vez en vez de aplicar el algoritmo a cada vector. El programa sería más corto y rápido.

Alguien preguntó algo similar:
http://www.lawebdelprogramador.com/news/mostrar_new.php?id=132&texto=Matlab&n1=539721&n2=0&n3=0&n4=0&n5=0&n6=0&n7=0&n8=0&n9=0&n0=0

Si no lograras visualizar cómo operar con la matriz entonces podrías decirnos cuál es la fórmula que necesitas aplicar, o un pseducódigo para atacar el problema.
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

RE:Problemas con vectores fila de una matriz

Publicado por Jorge (226 intervenciones) el 04/01/2010 23:13:55
El problema es la notación que quieres usar.

con v = y(i,:) estás asignando un vector a otro, pero no puedes usar
v(i) = y(i,:), porque estarías asignando un vector a un escalar, y Matlab marca error.

v(i) es el elemento ' i ' del vector ' v ', y eso es un escalar.
O sea, no puedes hacer v(1) = [1 2 3]

Si quieres usar todo el renglón 3 de la matriz ' y ', tienes que usar y(3,:)

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

RE:Problemas con vectores fila de una matriz

Publicado por Ramón (11 intervenciones) el 05/01/2010 08:57:07
YA LO HE CONSEGUIDO !!!!!!!
Con el siguiente código:

v = [ ]; % vector vacío
for i = 1:N
v(i) = sum(y(i,:)); %
end

Muchas gracias por vuestros aportes, no dudéis en que yo sí tendré más dudas !! jaaja
En serio, gracias.
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