El post que buscas se encuentra eliminado, pero este también te puede interesar

Programa para CASIO de diagonalizar matrices

Anuncios

Aquí dejo un programa para diagonalizar matrices simétricas (cuadradas de 2x2 y 3x3), es para resistencia de materiales... Es para calculadoras programables de CASIO (la mia actual es la FX-9700GE).

Para matrices CUADRADAS Y SIMÉTRICAS DE 2X2 de este tipo:
[G F]
[F H]

"SIGMA X"
?->G
"SIGMA Y"
?->H
"TAO"
?->F
[[G,F][F,H]]
"AX^2+BX+C=0"
1->A
-(G+H)->B
(GH-F^2)->C
"YA ESTAN ACUMULADAS EN A B C"
(((B)^2-(AxCx4))^(1/2))->E
"AUTOVALORES"
"SIGMA 1"
(-B+E)/(2A)
"SIGMA 2"
(-B-E)/(2A)
"LISTO"


Nota: se puede eliminar la parte siguiente a "YA ESTAN ACUMULADOS..." e ir a resolver ecuación de segundo grado con la opción de la calculadora, yo la he implementado por comodidad (en la siguiente no, aún...)

Para matrices CUADRADAS Y SIMÉTRICAS DE 3X3 de este tipo:
[G J K]
[J H L]
[K L I]


"SIGMA X"
?->G
"SIGMA Y"
?->H
"SIGMA Z"
?->I
"Txy"
?->J
"Txz"
?->K
"Tyz"
?->L
[[G,J,K][J,H,L][K,L,I]]
"AX^3+BX^2+CX+D=0"
-1->A
(G+H+I)->B
(-Ix(G+H)-GH+(K)^2+(J)^2+(L)^2)->C
(GHI-(Hx(K)^2)-(Ix(J)^2)-(Gx(L)^2)+(2xJKL)->D
"Listo"



NOTA: las "x" son multiplicaciones!

Así quedan en las variables A, B, C y D los valores, simplemente es ir a resolver ecuaciones de tercer grado (que las calculadoras traen por defecto) y metes en las casillas directamente: A B C D en cada celda y listo!
Se puede añadir al código la resolución de estas ecuaciones, para mi no merece, para quien lo quiera hacer dejo el enlace de las fórmulas (pero son grandes...):

http://www.josechu.com/ecuaciones_polinomicas/cubica_solucion_es.htm


PARA HACER PRUEBAS Y SABER QUE FUNCIONA, METER DE DATOS SOLO LA DIAGONAL PRINCIPAL, ES DECIR, SOLO SIGMAS, PONER CEROS EN LAS TAOS, SI DAN LAS QUE METISTE ES MUY MUY MUY PROBABLE QUE ESTE BIEN ESCRITO EL PROGRAMA, PUEDE PROBAR CON VARIOS DATOS.

De todos modos, para una 2x2 con datos:
SigmaX=150, SigmaY=-325, TAO=142
Soluciones:
Sigma1=189.213299283
Sigma2=-364.213299283

Para 3x3:
SigmaX=1500, SigmaY=2000, SigmaZ=-3000, TAOxy=150, TAOxz=-500, TAOyz=-950
Soluciones:
Sigma1=2253.64618414
Sigma2=1466.61897113
Sigma3=-3220.26515527

Podéis comprobarlo ONLINE!

http://www.mathstools.com/section/main/sistemas_on_line/202

Más adelante haré otro programa para que de los autovectores (unitarios)!

Si detectas un fallo, comentalo.

Pronto subiré este programa a las páginas de calculadoras de CASIO, no reposten sin poner la fuente.

Anuncios

1 comentario - Programa para CASIO de diagonalizar matrices