Matlab - Matrices en fprintf

   
Vista:

Matrices en fprintf

Publicado por Anthony (10 intervenciones) el 23/10/2011 19:51:18
Buenas tardes .
Bueno anoche termine un código sobre factorización de Matrices en la forma A= LDLt donde L , D y Lt son matrices de la misma dimensión. Cuando intenté mostrarlo en un fprintf me salía distorisionado o solo sus elementos. Creo que el problema esta en el %d pues éste solo reconoce enteros, entoncs habrá alguna salida para matrices pues yo quiero que salga al final la expresión antes mencionada, es decir

A = L * D * Lt


1 2 3 1 0 0 1 0 0 1 2 3
2 5 4 = 2 1 0 * 0 1 0 * 0 1 -2
3 4 7 3 -2 1 0 0 -6 0 0 1

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
Imágen de perfil de JOSE JEREMIAS CABALLERO

Matrices en fprintf

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3441 intervenciones) el 23/10/2011 21:32:30
Bueno Anthony .
Si deseas copia tu codigo al foro y sino lo envias a mi correo.
para ver y poder ayudarte con mas certeza.
o sino digita en la ventana de comandos de matlab

>> help fprintf.

Alli encontrarás un monton de informacion sobre esa funcion

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

Matrices en fprintf

Publicado por Anthony locofenix_111@hotmail.com (10 intervenciones) el 23/10/2011 22:02:21
Buenas tardes
Bueno este es el código,
display('FACTORIZACION LDLt')
A=input('Ingrese la matriz a factorizar: ');
n = length(A(1,:));

%Condición necesaria 1
for i=1:n
for j=1:n
if A(i,j)~=A(j,i)
disp('La Matriz no es simétrica')
return ;
end
end
end
fprintf('\nLa matriz es de %d x %d ',n,n);
fprintf('\n')



%Condición necesaria 2
if A(n,n) == 0
display('No existe solución única!');
return
end

%Creando la Matriz L y al mismo tiempo la matriz escalonada
for i = 1:n
for j = i+1:n
L(j,i) = A(j,i)/A(i,i);
A(j,1:n) = A(j,1:n) - L(j,i)*A(i,1:n) ;
end
end

%Presentación de la Matriz escalonada.
display('La Matriz escalonada es: ');
A

%Presentación de la Matriz L
display('La Matriz L es: ');
L

%Cambio temporal para que no se altere la matriz original
temp=A;
A=D;
D=temp;



%Creando la matriz Diagonal D
for i=1:n
for j=1:n
if i~=j
D(i,j)=eye(1)-eye(1); %eye(1)- eye(1) es la matriz de ceros
end
end
end

%Presentación de la Diagonal de la matriz escalonada
display('La Diagonal de La matriz escalonada es: ');
D

%Presentación de la traspuesta de L
display('La traspuesta de la Matriz L es: ')
Lt=L'

%Resultado Final
display('Luego A=LDLt')
Aoriginal=L*D*L'

todo correcto pero la salida quisiera que salga Aoriginal=L*D*L' pero en matrices, es decir si fuera un numero entero pondría fprintf('%d',a), donde a es un numero, pero si a es una matriz? que pongo en vez de %d?
Gracias de Antemano
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

Matrices en fprintf

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3441 intervenciones) el 23/10/2011 22:14:32
HOLA ANTONHY
ENVIAME UN EJEMPLO DE UNA MATRIZ. A FACTORIZAR

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

Matrices en fprintf

Publicado por Anthony (10 intervenciones) el 23/10/2011 22:24:59
La matriz tiene que ser simetrica y cuadrada como por ejemplo:
[1 2 3; 2 5 4; 3 4 7]
esta matriz será descompuesta en L, D y L'
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

Matrices en fprintf

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3441 intervenciones) el 23/10/2011 23:09:45
hola Antony.
Tu programa no se ejecuta tiene errores.
Verificalo.
%====================
%Cambio temp
temporal para que no se altere la matriz original
temp=A;
A=D; %D no existe hasta este parte del programa.
D=temp
%==========================

quieres hacer cambios, pero todavia hasta este punto no ha generado la matri D.

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

Matrices en fprintf

Publicado por Anthony locofenix_111@hotmail.com (10 intervenciones) el 24/10/2011 03:59:10
No me había dado cuenta de ese error y no me dejaba hacer nada mas. Al principio me compilaba, pero cuando reinicie matlab me salia ese error, ya lo arregle y hasta le hice interfaz
Muchas Gracias y espero contar con su apoyo en cualquier otra ocasión.
Atte : Anthony Manosalva
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

Matrices en fprintf

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3441 intervenciones) el 24/10/2011 04:17:10
El foro es una web abierto y todas personas pueden hacer sus preguntas todas las veces que quieran.
Ademas si alguna vez tengas la oportunidad de poder contestar unas preguntas, estariamos agradecidos todo los usuarios del foro, porque de esta manera todos estariamos aprendiendo un poco mas de matlab.

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