Matlab - Obtencion de matrices a partir de vectores

 
Vista:
sin imagen de perfil
Val: 17
Ha aumentado su posición en 5 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Obtencion de matrices a partir de vectores

Publicado por Jose Ernesto (9 intervenciones) el 13/11/2018 04:17:47
Que tal, disculpen nuevamente la molestia pero tengo un problema con la obtención de unas matrices, las cuales requiero el uso del for, mi problema es el siguiente:

Tengo los siguientes vectores:

A = [0.75 2.5 5.25 ];
B = [ 0.9 2.7 ];
C = [0.75 2.5 5.25 ];
F (A, B, C) = 6(A) + 8(B) + 4(C)

Vamos a tratar de describir el procedimiento de cálculo es el siguiente:
• Tengo un vector A de 3 elementos, por lo que las matrices a formar deberán contener 3 filas.
• Tengo un vector B de 2 elementos, por lo que las matrices a formar deberán contener 2 columnas.
• Tengo un vector C de 3 elementos, por lo que tengo que obtener 3 matrices de (3x2).
• Como se menciono antes tengo una formula que determina el valor de cada uno de los elementos de la matriz, la cual es: F (A, B, C) = 6(A) + 8(B) + 4(C)
• Se puede decir que C toma valor constante en cada una de las matrices que se forman, es decir en la matriz M1 C vale siempre 0.75, para M2, C = 2.5 y para M3, C = 5.25.

Las matrices que debo obtener son:

Obtencion-matrices-1
Obtencion-matrices-2
Obtencion-matrices-3

Si alquien me pudiera ayudar o dar algun tip se lo agradeceria. 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 Lindsey
Val: 419
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Obtencion de matrices a partir de vectores

Publicado por Lindsey (119 intervenciones) el 13/11/2018 21:40:24
Hola, como dices que debes usar for para esto, se pueden usar 3 for anidados.

Lo importante es que en cada for "fijas" el valor de la posición de A, B o C que quieres usar en el cálculo. El resultado de las tres matrices se guarda en una variable M tipo celda, a los cuales puedes acceder como M{1}, M{2} y M{3}.

1
2
3
4
5
6
7
8
9
10
11
12
13
A = [0.75 2.5 5.25 ];
B = [ 0.9 2.7 ];
C = [0.75 2.5 5.25 ];
 
M = cell(1,length(C));
 
for i = 1:length(C)
    for j = 1:length(B)
        for k = 1:length(A)
            M{i}(k,j) = 6*A(k)+8*B(j)+4*C(i);
        end
    end
end

Y los resultados:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
>> M{1}
 
ans =
 
   14.7000   29.1000
   25.2000   39.6000
   41.7000   56.1000
 
 
>> M{2}
 
ans =
 
   21.7000   36.1000
   32.2000   46.6000
   48.7000   63.1000
 
 
>> M{3}
 
ans =
 
   32.7000   47.1000
   43.2000   57.6000
   59.7000   74.1000
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
sin imagen de perfil
Val: 17
Ha aumentado su posición en 5 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Obtencion de matrices a partir de vectores

Publicado por Jose Ernesto (9 intervenciones) el 14/11/2018 06:01:08
Muchas Gracias Lindsay te agradezco la ayuda y la explicación
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: 17
Ha aumentado su posición en 5 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Obtencion de matrices a partir de vectores

Publicado por Jose Ernesto (9 intervenciones) el 14/11/2018 07:15:38
Disculpa Lindsay una pregunta si quisiera agregar otra variable a f, es decir añadir un vector más por ejemplo
D=[ 1.5 2 3.5]
F(A B C D)=6A+8B+4C+5D
Pero D actúa del mismo modo que C, es decir, es constante en la primera matriz, pero diferente en la segunda y así respectivamente.
Como debería añadir la variable
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: 17
Ha aumentado su posición en 5 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Obtencion de matrices a partir de vectores

Publicado por Jose Ernesto (9 intervenciones) el 14/11/2018 07:03:23
Disculpa Lindsay una pregunta si quisiera agregar otra variable a f, es decir añadir un vector más por ejemplo
D=[ 1.5 2]
F(A B C D)=6A+8B+4C+5D
Pero D actúa del mismo modo que C, es decir, es constante en la primera matriz, pero diferente en la segunda y así respectivamente.
Como debería añadir la variable.
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 Lindsey
Val: 419
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Obtencion de matrices a partir de vectores

Publicado por Lindsey (119 intervenciones) el 15/11/2018 22:17:39
Cambia el tamaño de M, con longitud de D en vez de C, y agregara otro for que vaya de 1 hasta la longitud de D.
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