Matlab - Ayuda con matrices y sentencias

 
Vista:

Ayuda con matrices y sentencias

Publicado por Jorge Luis (3 intervenciones) el 27/09/2010 01:31:19
Hola compañeros, tengo un problema con Matlab y es que no puedo crear una matriz automatica con unas variables que salen de un for:

El codigo es:

for i=2:vposeval;
eval(['Y' num2str(i) '=y(i)-((m*x(i))+b)']);
end

if vposeval == 2;F=[Y2]
else if vposeval == 3;F=[Y2;Y3]
else if vposeval == 4;F=[Y2;Y3;Y4]
else if vposeval == 5;F=[Y2;Y3;Y4;Y5]
else if vposeval == 6;F=[Y2;Y3;Y4;Y5;Y6]
else if vposeval == 7;F=[Y2;Y3;Y4;Y5;Y6;Y7]
else if vposeval == 8;F=[Y2;Y3;Y4;Y5;Y6;Y7;Y8]
end;end;end;end;end;end;end

El resultado del for son variables
Y1
Y2
Y3 ...

El if me crea una matrz columna dependiendo de la cantidad de variables Y(n) que tenga.
[Y1
Y2
Y3...]

Pero quiero saber si alguien conoce una forma de crear la matriz columna de una manera más eficiente y no restringirme solo hasta 7 posibles casos (maximo en el if), sino hasta cualquiera. (no logro crear el vector columna directamente del for)

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:Ayuda con matrices y sentencias

Publicado por Jorge (226 intervenciones) el 27/09/2010 02:04:06
Hola Jorge,

Me parece que estás tomando un camino demasiado complicado.

Puedes crear cualquier matriz de un for.

for i = 1 : 10
x(i) = i+3;
end
x
x'

Aquí tienes un índice del 1 al 10.
Para cada valor de i, asocias un valor a x
x(i) es un escalar, que va formando un vector x.

O sea, x se compone de x(1), x(2), x(3)...

Al final lo puedes manejar en renglón o columna.
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:Ayuda con matrices y sentencias

Publicado por Jorge Luis (3 intervenciones) el 27/09/2010 03:09:16
Hola Jorge, muchas gracias por responder.

El codigo anterior lo hice porque tengo la necesidad de definir y cargar las variables individualmente: Y1, Y2, Y3, etc.

Pero voy a ver si en vez de eso solo intento obtener los valores que resultan como matriz del for simple, aveces el camino más complejo no es el más correcto.

Muchas gracias por ayudar.
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