Matlab - Programa para resolver matrices

   
Vista:

Programa para resolver matrices

Publicado por Aldair (2 intervenciones) el 27/02/2012 16:22:52
hola, buen dia, tengo duda con un programa a realizar, en el cual el propósito es hacer que el programa resuelva por si solo matrices con el método de Gauss Jordan, lleov la siguiente lógica



fprintf('Programa para Resolver matrices \n')

% El primer paso es colocar el numero de restricciones y de variables

n=0;
m=0;
n=input('Teclee el valor de n: ');
m=input('Teclee el valor de m: ');

C=[ ];
C=input('Teclee los valores de C entre [] : ');
B=[ ];
B=input('Teclee los valores de B entre [] : ');


No_de_combinaciones= nchoosek(n,m);
No_de_combinaciones
comb=combnk(1:n,m);
comb

i=1;

for i= 1:n
k=i;
fprintf('iteración numero %d \n ', k)
V(:,:,i)=input('proporciones el valor de su vector : ');
end


lo que quiero lograr aqui es que cada valor de V en elciclo for, tome un valor de la tabla de las combinaicones, es decir


que al primer valor del for osea V1 se le asigne la variable "1" de la tabla dada por comb=combnk(1:n,m);


y asi con esto despues formar mis matrices soluciones. les agradeceria su ayuda.
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

Programa para resolver matrices

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3433 intervenciones) el 27/02/2012 16:55:15
HOla Aldair.
En el fondo nose cual es tu logica, que es lo quieres hacer, no se entiende tu pregunta.
Solo he podido filtrarte tu código.
Si deseas conectavia messenger de hotmail (opcion audio), o brinda mas informacion.
Hablas de metodo de Gauss Jordan, ese metodo sirve para resolver un sistema de ecuaciones de n ecuaciones. O Derepente estas utilizando para otros puntos.
Ademas como estas ejecutando tu codigo.


1
2
3
4
5
6
7
8
9
10
11
12
13
clear all
n=input('Teclee el valor de n: ');
m=input('Teclee el valor de m talque m<n: ');
C=input('Teclee el vector  C entre []: ');
B=input('Teclee los vector B entre []: ');
No_de_combinaciones= nchoosek(n,m); % combinatorio
comb=combnk(1:n,m);  %visualiza todo los combinaciones de m en m de n 
% elementos
 
for i= 1:n
fprintf('iteración numero %d \n ', i)
V(i,:)=comb(i,:);
end




Saludos.
JOSE JEREMIAS CABALLERO

Servicios de programacion matlab


Asesor de Proyectos con Matlab
programador en matlab
"Detalladar sus preguntas, para recibir respuestas acertadas"
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

Programa para resolver matrices

Publicado por Aldair (2 intervenciones) el 27/02/2012 18:54:14
ya le eh agragado. gracias.


y la cuestión es si, es hacer que el ciclo FOR genere vectores

los cuales se utilizaran para solucionar las matrices.

en las combinaciones da lo siguiente para el caso tal que n=3 m=2

la primer combinación es 1 y 2

entonces el primer valor generado por el ciclo FOR que seria "V1"

tome el lugar de "1" en las combinaciones y "v2" tome el valor de 2

para despues decir que Matriz1=[1; 2; B] y genere asi mi matriz 1 y ya aplicar

gauus jordan para resolver. espero poder haberme explicado.
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

Programa para resolver matrices

Publicado por JOSE JEREMIAS CABALLERO jjcc94@homail.com (2 intervenciones) el 27/02/2012 20:57:36
Hola Aldair.

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
26
27
28
29
30
31
clear all
clc
x1=[0.05;0.05;0.10];
x2=[.05;.10;.05];
x3=[1;0;0];
x4=[0;1;0];
x5=[0;0;1];
x=[x1 x2 x3 x4 x5 ];
b=[1100;1800;2000];
cb=[18.5 20 0 0 0];
comb= combnk(1:5,3);
 
for i=1:size(comb,1)
     A(:,:,i)=x(:,comb(i,:));
 end
 
for i=1:size(comb,1)
    r(:,i)=linsolve(A(:,:,i),b);
end
 
 for i=1:size(comb,1)
     Cb(i,:)=cb(comb(i,:));
 end
 
for i=1:size(Cb,1)
    Z(i)=Cb(i,:)*r(:,i);
end
display(A)
display(r)
display(Cb)
display(Z)



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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
>>EJECUCION
>> combinatorio_usos
A(:,:,1) =
     1     0     0
     0     1     0
     0     0     1
 
 
A(:,:,2) =
    0.0500         0         0
    0.1000    1.0000         0
    0.0500         0    1.0000
 
A(:,:,3) =
    0.0500    1.0000         0
    0.1000         0         0
    0.0500         0    1.0000
 
 
A(:,:,4) =
    0.0500    1.0000         0
    0.1000         0    1.0000
    0.0500         0         0
 
 
A(:,:,5) =
    0.0500         0         0
    0.0500    1.0000         0
    0.1000         0    1.0000
 
 
A(:,:,6) =
    0.0500    1.0000         0
    0.0500         0         0
    0.1000         0    1.0000
 
 
A(:,:,7) =
    0.0500    1.0000         0
    0.0500         0    1.0000
    0.1000         0         0
 
 
A(:,:,8) =
    0.0500    0.0500         0
    0.0500    0.1000         0
    0.1000    0.0500    1.0000
 
 
A(:,:,9) =
    0.0500    0.0500         0
    0.0500    0.1000    1.0000
    0.1000    0.0500         0
 
 
A(:,:,10) =
    0.0500    0.0500    1.0000
    0.0500    0.1000         0
    0.1000    0.0500         0
 
 
r =
  1.0e+004 *
    0.1100    2.2000    1.8000    4.0000    2.2000    3.6000    2.0000    0.8000    1.8000    1.4667
    0.1800   -0.0400    0.0200   -0.0900    0.0700   -0.0700    0.0100    1.4000    0.4000    1.0667
    0.2000    0.0900    0.1100   -0.2200   -0.0200   -0.1600    0.0800    0.0500    0.0500   -0.0167
 
 
Cb =
         0         0         0
   20.0000         0         0
   20.0000         0         0
   20.0000         0         0
   18.5000         0         0
   18.5000         0         0
   18.5000         0         0
   18.5000   20.0000         0
   18.5000   20.0000         0
   18.5000   20.0000         0
 
 
Z =
  1.0e+005 *
         0    4.4000    3.6000    8.0000    4.0700    6.6600    3.7000    4.2800    4.1300    4.8467
 
>>



Saludos.
JOSE JEREMIAS CABALLERO

Servicios de programacion matlab


Asesor de Proyectos con Matlab
programador en matlab
"Detalladar sus preguntas, para recibir respuestas acertadas"
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
Imágen de perfil de JOSE JEREMIAS CABALLERO

Programa para resolver matrices

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3433 intervenciones) el 27/02/2012 21:01:31
Hola Aldair.

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
26
27
28
29
30
31
clear all
clc
x1=[0.05;0.05;0.10];
x2=[.05;.10;.05];
x3=[1;0;0];
x4=[0;1;0];
x5=[0;0;1];
x=[x1 x2 x3 x4 x5 ];
b=[1100;1800;2000];
cb=[18.5 20 0 0 0];
comb= combnk(1:5,3);
 
for i=1:size(comb,1)
     A(:,:,i)=x(:,comb(i,:));
 end
 
for i=1:size(comb,1)
    r(:,i)=linsolve(A(:,:,i),b);
end
 
 for i=1:size(comb,1)
     Cb(i,:)=cb(comb(i,:));
 end
 
for i=1:size(Cb,1)
    Z(i)=Cb(i,:)*r(:,i);
end
display(A)
display(r)
display(Cb)
display(Z)



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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
>>EJECUCION
>> combinatorio_usos
A(:,:,1) =
     1     0     0
     0     1     0
     0     0     1
 
 
A(:,:,2) =
    0.0500         0         0
    0.1000    1.0000         0
    0.0500         0    1.0000
 
A(:,:,3) =
    0.0500    1.0000         0
    0.1000         0         0
    0.0500         0    1.0000
 
 
A(:,:,4) =
    0.0500    1.0000         0
    0.1000         0    1.0000
    0.0500         0         0
 
 
A(:,:,5) =
    0.0500         0         0
    0.0500    1.0000         0
    0.1000         0    1.0000
 
 
A(:,:,6) =
    0.0500    1.0000         0
    0.0500         0         0
    0.1000         0    1.0000
 
 
A(:,:,7) =
    0.0500    1.0000         0
    0.0500         0    1.0000
    0.1000         0         0
 
 
A(:,:,8) =
    0.0500    0.0500         0
    0.0500    0.1000         0
    0.1000    0.0500    1.0000
 
 
A(:,:,9) =
    0.0500    0.0500         0
    0.0500    0.1000    1.0000
    0.1000    0.0500         0
 
 
A(:,:,10) =
    0.0500    0.0500    1.0000
    0.0500    0.1000         0
    0.1000    0.0500         0
 
 
r =
  1.0e+004 *
    0.1100    2.2000    1.8000    4.0000    2.2000    3.6000    2.0000    0.8000    1.8000    1.4667
    0.1800   -0.0400    0.0200   -0.0900    0.0700   -0.0700    0.0100    1.4000    0.4000    1.0667
    0.2000    0.0900    0.1100   -0.2200   -0.0200   -0.1600    0.0800    0.0500    0.0500   -0.0167
 
 
Cb =
         0         0         0
   20.0000         0         0
   20.0000         0         0
   20.0000         0         0
   18.5000         0         0
   18.5000         0         0
   18.5000         0         0
   18.5000   20.0000         0
   18.5000   20.0000         0
   18.5000   20.0000         0
 
 
Z =
  1.0e+005 *
         0    4.4000    3.6000    8.0000    4.0700    6.6600    3.7000    4.2800    4.1300    4.8467

>>


Saludos.
JOSE JEREMIAS CABALLERO

Servicios de programacion matlab


Asesor de Proyectos con Matlab
programador en matlab
"Detalladar sus preguntas, para recibir respuestas acertadas"
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