Glosario

Abreviatura para la Notación Polaca Inversa o Reverse Polish Notation.
Esta notación de sufijo es la sintaxis de entrada que casi todas las calculadoras HP usan. Básicamente hay dos tipos de RPN. Una usada en calculadoras más viejas, hace que el ENTER duplique el nivel uno del stack en la línea de edición, y otro, usado en las 28/38G/48/49/50, que hace que el ENTER duplique el nivel uno si la línea de edición no está siendo usada, y que pone el contenido de la línea de edición en el nivel uno si la línea de edición está siendo usada. RPN usa notación de sufijo, así que 1+1 es introducido 1 ENTER 1 + en vez de 1 + 1 =.
Esto puede parecer más confuso al principio, pero es mucho más sencillo con expresiones más complejas. La Notación Polaca Inversa se basa en los trabajos de el polaco Jan Lukasiewicz, quien creó la notación de prefijo ( + 1 1 ) llamada Notación Polaca.

Programas de matemática

4 respuestas [Último envío]
Integró: 20/03/2009
Envíos: 462
MonedasHP: 420
Imagen de VereV
AdictoHP+
Calc: HP50
Programas de matemática
 
Vie, 02/07/2010 - 18:15

Bueno, acá les dejo unos programas de matemática que fui haciendo en los últimos meses, les dejo el .HP para la calculadora y el .HPPRG para editar el código.
Cauchy: Es para resolver ecuaciones en diferencias del tipo de Cauchy-Euler por el método de variación de parámetros de Lagrange.
CB: Es para realizar cambios de base, T es la transformación de base canónica a base canónica, T1 es la transformación de una base cualquiera a la base canónica, T2 es la TL de base cualquiera a base cualquiera y T3 es la TL de base canónica a base cualquiera, igual si clickean en información hay un gráfico que explica todo mejor.
COMPL: Es para plantear las complementarias de las ecuaciones diferenciales y en diferencias, lo que hace simplemente es derivar, integrar, suma desplazamientos o resta desplazamientos a la solución complementaria que tengan (también la multiplica por el coeficiente de la ecuación). Ej, tengo que plantear la siguiente complementaria en una ec diferencial que es del siguiente estilo
Y''+3*Y'-2Y=X^2+1
complementaria sería: A*X^2+B*X+C
yc=-2*A*X^2-2*B*X-2*C
y'c=6*A*X+3*B
y''c=2*A
y luego las suma, es MÚY útil ya que sino las cuentas son muy engorrosas.
Dinamica: Ingresas el Jacobiano evaluado en un punto y te dice que tipo de punto crítico es (sirve para sistema de ecuaciones diferenciales)
ECDIFCOMP: Hace lo mismo que COMPL únicamente que solo lo hace para desplazamientos positivos en Ec. en diferencias.
Lagrange Raices: Resuelve ecuaciones diferenciales por el método de variación de parámetros de Lagrange ingresando las raíces.
Lagrange2: Resuelve ecuaciones diferenciales por el método de variación de parámetros de Lagrange sin la necesidad de ingresar las raíces.
LGCOMP: Resuelve ecuaciones diferenciales por el método de variación de parámetros de Lagrange ingresando las raíces COMPLEJAS.
MENOR: Calcula los menores principales de una matriz dada.
ROUTH: Analiza la estabilidad de un modelo con ecuaciones diferenciales.
SCHUR: Analiza la estabilidad de un modelo con ecuaciones en diferencias.
sencos: Hace 4 cosas, las primeras 2 son para cuando uno tiene una suma o resta dentro de un seno o un coseno, ej SEN(A+B) y utiliza la regla para separarlo SEN(A)+COS(B)+SEN(B)*COS(A)
Las otras 2 cosas que hace es: Saca ro y omega para ec. en diferencias cuando hay una raíz imaginaria. Y la otra es Hacer una cuadrática simplemente, sirve para cuando haces solve poly y te devuelve raíces feas.
SOLVES: Simplemente ayuda a armar un SOLVE mas fácil (ayuda para sistema de ecuaciones).
XTREM: Sirve para extremos condicionados, utiliza el método de Lagrange.

Descargar aquí:
http://www.mediafire.com/?kiandzcqmm3
Ahora en Megaupload también:
http://www.megaupload.com/?d=VQE8UE8I

Top
Integró: 09/03/2010
Envíos: 467
MonedasHP: 926
Imagen de zuaritx
Calc: HP48G/GX | ROM:.
 
#1
Mar, 14/12/2010 - 20:31

<

Top
Integró: 20/03/2009
Envíos: 462
MonedasHP: 420
Imagen de VereV
AdictoHP+
Calc: HP50
 
#2
Lun, 05/07/2010 - 12:34

Aquí en que sentido? Se pueden colgar en adictoshp? Los .HP y los .HPPRG están en el mismo zip que los guardé en Medifire

Top
Integró: 09/03/2010
Envíos: 467
MonedasHP: 926
Imagen de zuaritx
Calc: HP48G/GX | ROM:.
 
#3
Mar, 14/12/2010 - 20:33

<

Top
Integró: 20/03/2009
Envíos: 462
MonedasHP: 420
Imagen de VereV
AdictoHP+
Calc: HP50
 
#4
Mar, 06/07/2010 - 12:38

Ah sí, ahora lo hago, lo que pasa es que eran varios programas y me daba un poco de vagancia, jajaja
Por las dudas también lo subí a megaupload: http://www.megaupload.com/?d=VQE8UE8I

Cauchy

«
105 NEG CF @ EXACT MODE ON
"Ec en dif. Cauchy-Euler"
{{ "Lagrange" 1 }
{ "Informacion" 2 }}
1 CHOOSE DROP
1 IF == THEN


"Cauchy-Euler. Metodo Lagrange"
{{ "Coeficientes:" "Vector de 2do o 3er orden" 3 }
{ "y''" "lo que multiplica a y''" 9 }
{ "Igualado a:" "Igualado a" 9 }}
{ 1 0 }
{ }
{ 0 1 0 }
INFORM DROP EVAL
'COMPLEM' STO 'AN' STO AXL REVLIST 'COEF' STO 105 NEG CF @ EXACT MODE ON
CLEAR
COEF SIZE 3 IF == THEN @GRADO 2
COEF EVAL SWAP COEF 3 GET - SWAP 3 LIST 'COEF' STO
105 NEG SF @APROX MODE ON
COEF EVAL M 2 ^ * SWAP M * + + 'M' SOLVE EVAL OBJ
105 NEG CF @ EXACT MODE ON
DROP DROP  Q 'R1' STO DROP OBJ DROP DROP  Q 'R2' STO CLEAR
R1 R2 IF == THEN
C1 X R1 ^ 'V1' STO V1 * C2 X R1 ^ X LN * 'V2' STO V2 * + 'SOLH' STO
ELSE @Raices distintas
C1 X R1 ^ 'V1' STO V1 * C2 X R2 ^ 'V2' STO V2 * + 'SOLH' STO
END
V1 DUP DERVX 2 1 LIST 1 + ARRY 'COL1' STO
V2 DUP DERVX 2 1 LIST 1 + ARRY 'COL2' STO
0 COMPLEM AN / 2 1 LIST 1 + ARRY 'COL3' STO
R1 "Raíz1" TAG R2 "Raiz2" TAG
SOLH "Yh" TAG
105 NEG CF @ EXACT MODE ON
COL3 COL2 2 COL+ DET Q
COL1 COL2 2 COL+ DET Q /
EVAL 'VP1' STO VP1 "V'1" TAG
105 NEG CF @ EXACT MODE ON
VP1 INTVX EVAL 'VA' STO VA "V1" TAG
105 NEG CF @ EXACT MODE ON
COL1 COL3 2 COL+ DET Q
COL1 COL2 2 COL+ DET Q /
EVAL 'VP2' STO VP2 "V'2" TAG
105 NEG CF @ EXACT MODE ON
VP2 INTVX EVAL 'VB' STO VB "V2" TAG
SOLH VA V1 * VB V2 * + EVAL SIMPLIFY + "Y"  TAG
ELSE @GRADO 3
COEF EVAL 'A3' STO 'A2' STO 'A1' STO 'A0' STO
A0 A3 2 * A2 - A1 + A3 3 NEG * A2 + A3 4 LIST 'COEF' STO
COEF 4 GET M 3 ^ * COEF 3 GET M 2 ^ * COEF 2 GET M * COEF 1 GET + + +
105 NEG SF @APROX MODE ON
'M' SOLVE EVAL OBJ DROP DROP  Q 'R1' STO DROP OBJ DROP DROP Q 'R2' STO
DROP OBJ DROP DROP Q 'R3' STO
105 NEG CF @ EXACT MODE ON
CLEAR
R1 R2 R3 3 LIST SORT EVAL 'R1' STO 'R2' STO 'R3' STO
R1 R2 IF ‹ THEN
R2 R3 IF ‹ THEN @LAS 3 DISTINTAS
C1 X R1 ^ 'V1' STO V1 * C2 X R2 ^ 'V2' STO V2 * C3 X R3 ^ 'V3' STO V3
* + + 'SOLH' STO
ELSE @R2 Y R3 SON IGUALES
C1 X R1 ^ 'V1' STO V1 * C2 X R2 ^ 'V2' STO V2 *
C3 X R2 ^ X LN * 'V3' STO V3 * + + 'SOLH' STO
END
ELSE @R1 Y R2 IGUALES
R1 R3 IF ‹ THEN @R1=R2 DISTINTO R3
C1 X R3 ^ 'V1' STO V1 * C2 X R2 ^ 'V2' STO V2 *
C3 X R2 ^ X LN * 'V3' STO V3 * + + 'SOLH' STO
ELSE @TODAS IGUALES
C1 X R1 ^ 'V1' STO V1 * C2 X R1 ^ X LN * 'V2' STO V2 *
C3 X R1 ^  X LN * X LN * 'V3' STO V3 * +  + 'SOLH' STO
END
END
V1 DUP DERVX DUP DERVX 3 1 LIST 1 + ARRY 'COL1' STO
V2 DUP DERVX DUP DERVX 3 1 LIST 1 + ARRY 'COL2' STO
V3 DUP DERVX DUP DERVX 3 1 LIST 1 + ARRY 'COL3' STO
0 0 COMPLEM AN / 3 1 LIST 1 + ARRY 'COL4' STO
R1 "Raíz1" TAG R2 "Raiz2" TAG R3 "Raíz3" TAG
SOLH "Yh" TAG
105 NEG CF @ EXACT MODE ON
COL4 COL2 2 COL+ COL3 3 COL+ DET Q
COL1 COL2 2 COL+ COL3 3 COL+ DET Q 'DETE' STO DETE /
EVAL 'VP1' STO VP1 "V'1" TAG
105 NEG CF @ EXACT MODE ON
VP1 INTVX EVAL 'VA' STO VA "V1" TAG
COL1 COL4 2 COL+ COL3 3 COL+ DET Q
DETE /
EVAL 'VP2' STO VP2 "V'2" TAG
105 NEG CF @ EXACT MODE ON
VP2 INTVX EVAL 'VB' STO VB "V2" TAG
COL1 COL2 2 COL+ COL4 3 COL+ DET Q
DETE /
EVAL 'VP3' STO VP3 "V'3" TAG
105 NEG CF @ EXACT MODE ON
VP3 INTVX EVAL 'VC' STO VC "V3" TAG
SOLH VA V1 * VB V2 * VC V3 * + + EVAL SIMPLIFY + "Y"  TAG

END

ELSE @ INFORMACION
"PRESIONE VIEW

Resolucion de ecuaciones en diferencias finitas para las ecuaciones de Cauchy-Euler, por el metodo de Lagrange.
Si le da error es muy probable que las raices sean complejas, que se calculan como:
a2*m^2+(a1-a2)*m+a0 para grado 2
a3*m^3+(-3*a3+a2)m^2+(2*a3-a2+a1)*m+a0 para grado 3
Ecuaciones de Cauchy-Euler:
a3*X^3*Y'''+a2*X^2*Y''+a1*X*Y'+a0*Y=g(x)"

END

{ 'AN' 'DETE' 'VP3' 'COL4' 'V3' 'R3' 'VC' 'A1' 'A2' 'A0' 'A3' 'COEF' 'VA' 'VB' 'V1' 'V2' 'COL3' 'M' 'COMPLEM' 'R1' 'R2' 'COL1' 'COL2' 'VP1' 'VP2' 'SOLH' }
PURGE
»

CB

«
"Cambio de Base"
{{ "Cambio de base" 1 }
{ "Informacion" 2 }} 1 CHOOSE DROP
1 IF == THEN
"Vaya poniendo los datos, sino los tiene deje cero" MSGBOX
"Cambio de Base"
{{ "X:" }
{ "Y:" }
{ "T:" }
{ "P:" }
{ "Q:" }}
{ 2 0 } { } { 0 0 0 0 0 }
INFORM DROP EVAL
'Q' STO 'P' STO 'T' STO 'Y' STO 'X' STO
"Cambio de Base"
{{ "X':" }
{ "Y':" }
{ "T1:" }
{ "T2:" }
{ "T3:" }}
{ 2 0 } { } { 0 0 0 0 0 }
INFORM DROP EVAL
'T3' STO 'T2' STO 'T1' STO 'YP' STO 'XP' STO

X 0 IF == THEN @CALCULAR X
CASE
T 0 ‹ THEN Y 0 IF ‹ THEN T INV Y * DUP 'X' STO "X" TAG END END
P 0 ‹ THEN XP 0 IF ‹ THEN P XP * DUP 'X' STO "X" TAG END END
YP 0 ‹ THEN T3 0 IF ‹ THEN T3 INV YP * DUP 'X' STO "X" TAG END END
END
END @TERMINA CALCULAR X

Y 0 IF == THEN @CALCULAR Y
CASE
T 0 ‹ THEN X 0 IF ‹ THEN T X * DUP 'Y' STO "Y" TAG END END
Q 0 ‹ THEN YP 0 IF ‹ THEN Q YP * DUP 'Y' STO "Y" TAG END END
XP 0 ‹ THEN T1 0 IF ‹ THEN T1 XP * DUP 'Y' STO "Y" TAG END END
END
END @TERMINA CALCULAR Y

XP 0 IF == THEN @CALCULAR XP
CASE
T1 0 ‹ THEN Y 0 IF ‹ THEN T1 INV Y * DUP 'XP' STO "XP" TAG END END
P 0 ‹ THEN X 0 IF ‹ THEN P INV X * DUP 'XP' STO "XP" TAG END END
YP 0 ‹ THEN T2 0 IF ‹ THEN T2 INV YP * DUP 'XP' STO "XP" TAG END END
END
END @TERMINA CALCULAR XP

YP 0 IF == THEN @CALCULAR YP
CASE
T3 0 ‹ THEN X 0 IF ‹ THEN T3 X * DUP 'YP' STO "YP" TAG END END
Q 0 ‹ THEN Y 0 IF ‹ THEN Q INV Y * DUP 'YP' STO "YP" TAG END END
XP 0 ‹ THEN T2 0 IF ‹ THEN T2 XP * DUP 'YP' STO "YP" TAG END END
END
END @TERMINA CALCULAR YP

P 0 IF == THEN @CALCULAR P
CASE
X 0 ‹ THEN XP 0 IF ‹ THEN X XP INV * DUP 'P' STO "P" TAG END END
END
END @TERMINA CALCULAR P

Q 0 IF == THEN @CALCULAR Q
CASE
Y 0 ‹ THEN YP 0 IF ‹ THEN Y YP INV * DUP 'Q' STO "Q" TAG END END
END
END @TERMINA CALCULAR Q

T 0 IF == THEN @CALCULAR T
CASE
X 0 ‹ THEN Y 0 IF ‹ THEN Y X INV * DUP 'T' STO "T" TAG END END
END
END @TERMINA CALCULAR T

T1 0 IF == THEN @CALCULAR T1
CASE
XP 0 ‹ THEN Y 0 IF ‹ THEN Y XP INV * DUP 'T1' STO "T1" TAG END END
END
END @TERMINA CALCULAR T1

T2 0 IF == THEN @CALCULAR T2
CASE
XP 0 ‹ THEN YP 0 IF ‹ THEN YP XP INV * DUP 'T2' STO "T2" TAG END END
END
END @TERMINA CALCULAR T2

T3 0 IF == THEN @CALCULAR T3
CASE
X 0 ‹ THEN YP 0 IF ‹ THEN YP X INV * DUP 'T3' STO "T3" TAG END END
END
END @TERMINA CALCULAR T3

@EMPIEZA EL SEGUNDO CALCULO

T1 0 IF == THEN @CALCULAR T1
CASE
T 0 ‹ THEN P 0 IF ‹ THEN T P * DUP 'T1' STO "T1" TAG END END
END
END

T2 0 IF == THEN @CALCULAR T2
CASE
T1 0 ‹ THEN Q 0 IF ‹ THEN Q INV T1 * DUP 'T2' STO "T2" TAG END END
END
END

T3 0 IF == THEN @CALCULAR T3
CASE
T 0 ‹ THEN Q 0 IF ‹ THEN Q INV T * DUP 'T3' STO "T3" TAG END END
END
END

{ X Y XP YP T P Q T1 T2 T3 }
PURGE
ELSE
"Bases canonicas" 1 GROB
GROB 77 69 00000008F00000009020000000002000000090209800000020000000211098000000200020002510250E7000000060004A0025C183CFFFFFF0CF00004220040000006830700008100810000024008000080000100000030003000400002000000100020002000040000080000400020000400000400008000100008000004000080001000080000020000010010000C00000200000100100008000002000001001000080000020000010020000400000200000100200004000004000080004000020000040000800080000100000800004000810081000000100020000200420000E3300030000C18340000C34008000080E70800008383070000C100001000430CF02000E30000200022000070008000004000100008F0068000008008000000200A80000001040000002E068000000202000000211280000004010000002112800000088000000021108000000050000000290080000000200000002610800000003000000020008000E3084C7000002000800080048010000020008000880201D00000200080008C0102110000200080000880048000002000800008400801000020008000002000D00000000080000010002208F1000080E708000043070E00000C1834000083800010000200420000C3600060008100810000E320004000800001000000100080004000020000080000010020000400000800000100200004000004000002001000080000040000020010000800000400000200100008000044000002001000080000C400000200100008CFFFF9000001002000040000C8000001002000040F104010008000400002040000200040008000010460006000600081008104400080001000020040046000070E00000C183000200008F1000211E7000060000004280211000000000000042804A0000000000000084404A00000000000000845084000000000000000920
GROBADD
"Bases nuevas" 1 GROB GROBADD
SCROLL
END
»

COMPL

«
"Ec. Complementaria"
{{ "En diferencias, k+n" 1 }
{ "En diferencias, k-n" 2 }
{ "Diferenciales derivar" 3 }
{ "Diferenciales integrar" 4 }}
1 CHOOSE DROP
CASE
105 NEG CF @ EXACT MODE ON
DUP 1 IF == THEN
"Ec en diferencias k+n"
{{ "Ec:" "Ec complementaria VARIABLE X" 9 }
{ "Coeficientes:" "Ingresarlos como vector fila" 3 }}
{ 1 0 }
{ }
{ 0 0 }
INFORM
DROP
EVAL
AXL REVLIST DUP SIZE 'N' STO EVAL N ARRY
'COEF' Q STO
'EC' Q STO
COEF SIZE EVAL 'C1' STO
1 C1 FOR i
COEF i GET
EC *
i 1 IF ‹ THEN
X X i 1 - Q + = SUBST +

END
NEXT
EVAL
ELSE @SE TERMINA EC EN DIF k+n

DUP 2 IF == THEN @ EC EN DIF K-N
"Ec en diferencias k-n"
{{ "Ec:" "Ec complementaria VARIABLE X" 9 }
{ "Coeficientes:" "Ingresarlos como vector fila" 3 }}
{ 1 0 }
{ }
{ 0 0 }
INFORM
DROP
EVAL
AXL REVLIST DUP SIZE 'N' STO EVAL N ARRY
'COEF' Q STO
'EC' Q STO
CLEAR
COEF SIZE EVAL 'C1' STO
1 C1 FOR i
COEF i GET
EC *
i 1 IF ‹
   THEN
   X X i 1 - Q - = SUBST +
   END
NEXT
EVAL
ELSE @ SE TERMINA EC EN DIF k-n

3 IF == THEN @ACA EMPIEZA DIFERENCIALES DERIVAR
"Ec diferenciales derivando"
{{ "Ec:" "Ec complementaria VARIABLE X" 9 }
{ "Coeficientes:" "Ingresarlos como vector fila" 3 }}
{ 1 0 }
{ }
{ 0 0 }
INFORM
DROP
EVAL
AXL REVLIST DUP SIZE 'N' STO EVAL N ARRY
'COEF' Q STO
'EC' Q STO
CLEAR
COEF SIZE EVAL 'C1' STO
1 C1 FOR i
EC
i 1 IF ‹
THEN
DERVX DUP 'EC' STO COEF i GET * +
ELSE
COEF 1 GET *
END
NEXT
EVAL
@ACA TERMINA DIFERENCIALES DERIVAR
ELSE
@ACA EMPIEZA DIFERENCIALES INTEGRAR
"Ec diferenciales integrando"
{{ "Ec:" "Ec complementaria VARIABLE X" 9 }
{ "Coeficientes:" "Ingresarlos como vector fila" 3 }}
{ 1 0 }
{ }
{ 0 0 }
INFORM
DROP
EVAL
AXL REVLIST DUP SIZE 'N' STO EVAL N ARRY
'COEF' Q STO
'EC' Q STO
'C1' 'C2' 'C3' 'C4' 'C5' 'C6' 'C7' 'C8' 'C9' 9 LIST 'CONS' STO
CLEAR
COEF SIZE EVAL 'NCOEF' STO
1 NCOEF FOR i
EC
i 1 IF ‹ THEN
INTVX CONS i 1 - GET + DUP 'EC' STO COEF i GET * +
ELSE
COEF 1 GET *
END
NEXT
EVAL
SIMPLIFY
@ACA TERMINA DIFERENCIALES K+N

END
END
END
END
{ 'EC' 'COEF' 'CONS' 'NCOEF' 'C1' 'N' }
PURGE
»

Dinamica

«
"Dinamica"
{{ "Jacobiano:" "Jacobiano YA EVALUADO en el punto" 3 }}
{ 1 0 } { } { 0 }
INFORM DROP EVAL
DUP DUP 'J' STO
DET Q DUP 'A' STO "|A|" TAG SWAP
TRACE Q DUP 'TR' STO "Tr(A)" TAG
TR 2 ^ A 4 * - DUP 'POL' STO
"Tr(A)²-4*|A|" TAG
POL 0 IF < THEN @RAICES COMPLEJAS
"RAICES COMPLEJAS"
CASE
TR 0 < THEN "FOCO ESTABLE" MSGBOX END
TR 0 == THEN "VORTICE" MSGBOX END
TR 0 > THEN "FOCO INESTABLE" MSGBOX END
END
ELSE @RAICES REALES O IGUALES
POL 0 IF == THEN @Raices iguales
A 0 IF == THEN "Estatica o multiples 2D" MSGBOX
ELSE
TR 0 IF > THEN "Nodo degenerado o estrella inestable" MSGBOX
ELSE "Nodo generado o estrella estable" MSGBOX
END
END
ELSE @ RAICES REALES DISTINTAS
CASE
A 0 < THEN "Saddle Point" MSGBOX END
A 0 == THEN
TR 0 IF > THEN "Equilibrios multiples inestables" MSGBOX
ELSE "Multiple atractor" MSGBOX END
END
A 0 > THEN
TR 0 IF > THEN
"Nodo inestable" MSGBOX
ELSE "Nodo estable" MSGBOX
END
END
END
END
END
{ J A TR POL }
PURGE
»

Lagrange raices

« "Ec diferenciales" { { "La gran G" 1 } { "Informacion" 2 } }
1 CHOOSE DROP 1
  IF ==
  THEN 105 NEG CF "Ec diferenciales: Lagrange" { { "Coeficientes:" "Vector de
2do o 3er orden" 3 } { "Raices Reales:" "Como VECTOR ingresar las raices" } { "Igualado a:" "Igualado a" 9 } } { 1 0 } { } { 0 0 0 }
INFORM DROP EVAL 'COMPLEM' STO AXL 'RAICES' STO AXL REVLIST 'COEF' STO 105 NEG CF CLEAR COEF

SIZE 3
    IF ==
    THEN 105 NEG SF
    RAICES EVAL Q 'R2' STO Q 'R1' STO
R1 R2 IF ==
      THEN C1 X R1 * EXP 'V1' STO V1 * C2 X R1 * EXP X * 'V2' STO V2 * + 'SOLH' STO
      ELSE C1 X R1 * EXP 'V1' STO V1 * C2 X R2 * EXP 'V2' STO V2 * + 'SOLH' STO
      END V1 DUP DERVX 2 1 LIST 1 + ARRY 'COL1' STO V2 DUP DERVX 2 1 LIST 1
+ ARRY 'COL2' STO 0 COMPLEM COEF DUP SIZE EVAL GET / 2 1 LIST 1 + ARRY 'COL3' STO R1 "Raíz1" TAG R2
"Raiz2" TAG SOLH "Yh" TAG 105 NEG CF

COL3 COL2 2 COL+ DET Q SIMPLIFY DUP 'DETV1' STO COL1 COL2 2 COL+
DET Q SIMPLIFY DUP 'DETX' STO / EVAL 'VP1' STO VP1 "V'1" TAG
DETX "›" TAG SWAP DETV1 "›V'1" TAG SWAP

105 NEG CF VP1 INTVX EVAL 'VA' STO VA "V1"
TAG 105 NEG CF COL1 COL3 2 COL+ DET Q SIMPLIFY DUP 'DETV2' STO COL1 COL2 2 COL+ DET Q / EVAL 'VP2' STO VP2
"V'2" TAG
DETV2 "›V'2" TAG SWAP
105 NEG CF VP2 INTVX EVAL 'VB' STO VB "V2" TAG SOLH VA V1 * VB V2 *
+ EVAL SIMPLIFY + "Y" TAG
    ELSE
     RAICES EVAL Q 'R3' STO Q 'R2' STO Q 'R1' STO
     105 NEG CF CLEAR R1 R2 R3 3 LIST SORT EVAL 'R1'
STO 'R2' STO 'R3' STO R1 R2
      IF ‹
      THEN R2 R3
        IF ‹
        THEN C1 X R1 * EXP 'V1' STO V1 * C2 X R2 * EXP 'V2' STO V2 * C3 X R3 * EXP 'V3' STO
V3 * + + 'SOLH' STO
        ELSE C1 X R1 * EXP 'V1' STO V1 * C2 X R2 * EXP 'V2' STO V2 * C3 X R2 * EXP X  *
'V3' STO V3 * + + 'SOLH' STO
        END
      ELSE R1 R3
        IF ‹
        THEN C1 X R3 * EXP 'V1' STO V1 * C2 X R2 * EXP 'V2' STO V2 * C3 X R2 * EXP X  *
'V3' STO V3 * + + 'SOLH' STO
        ELSE C1 X R1 * EXP 'V1' STO V1 * C2 X R1 * EXP X  * 'V2' STO V2 * C3 X R1 * EXP X
* X  * 'V3' STO V3 * + + 'SOLH' STO
        END
      END V1 DUP DERVX DUP DERVX 3 1 LIST 1 + ARRY 'COL1' STO V2 DUP DERVX
DUP DERVX 3 1 LIST 1 + ARRY 'COL2' STO V3 DUP DERVX DUP DERVX 3 1 LIST 1 +
ARRY 'COL3' STO 0 0 COMPLEM  COEF DUP SIZE EVAL GET / 3 1 LIST 1 + ARRY 'COL4' STO R1 "Raíz1" TAG R2
"Raiz2" TAG R3 "Raíz3" TAG SOLH "Yh" TAG 105 NEG CF COL4 COL2 2 COL+ COL3 3
COL+ DET Q DUP 'DETV1' STO COL1 COL2 2 COL+ COL3 3 COL+ DET Q 'DETE' STO DETE / EVAL 'VP1' STO VP1
"V'1" TAG 105 NEG CF VP1 INTVX EVAL 'VA' STO VA "V1" TAG COL1 COL4 2 COL+
COL3 3 COL+ DET Q  DUP 'DETV2' STO DETE / EVAL 'VP2' STO VP2 "V'2" TAG 105 NEG CF VP2 INTVX EVAL
'VB' STO VB "V2" TAG COL1 COL2 2 COL+ COL4 3 COL+ DET Q  DUP 'DETV3' STO DETE / EVAL 'VP3' STO
VP3 "V'3" TAG 105 NEG CF VP3 INTVX EVAL 'VC' STO VC "V3" TAG SOLH VA V1 * VB
V2 * VC V3 * + + EVAL SIMPLIFY + "Y" TAG
DETE "›" TAG SWAP DETV1 "›V'1" TAG SWAP DETV2 "›V'2" TAG SWAP DETV3 "›V'3" TAG SWAP
    END
  ELSE
  "PRESIONE VIEW

Resolucion de ecuaciones en diferencias finitas por el metodo de Lagrange.
Si le da error es muy probable que las raices sean complejas, ya que no sirve para cuando hay raices complejas o iracionales"
 
  END { DETE DETV1 DETV2 DETV3 DETX VP3 COL4 V3 R3 VC COEF VA VB V1 V2 COL3 M COMPLEM R1 R2 COL1 COL2
VP1 VP2 SOLH } PURGE
»

Lagrange

« "Ec diferenciales" { { "La gran G" 1 } { "Informacion" 2 } } 1 CHOOSE DROP 1
  IF ==
  THEN 105 NEG CF "Ec diferenciales: Lagrange" { { "Coeficientes:" "Vector de
2do o 3er orden" 3 } { "Igualado a:" "Igualado a" 9 } } { 1 0 } { } { 0 0 }
INFORM DROP EVAL 'COMPLEM' STO AXL REVLIST 'COEF' STO 105 NEG CF CLEAR COEF
SIZE 3
    IF ==
    THEN 105 NEG SF COEF EVAL M 2 ^ * SWAP M * + + 'M' SOLVE EVAL OBJ 105 NEG
CF DROP DROP Q 'R1' STO DROP OBJ DROP DROP Q 'R2' STO CLEAR R1 R2
      IF ==
      THEN C1 X R1 * EXP 'V1' STO V1 * C2 X R1 * EXP X * 'V2' STO V2 * + 'SOLH' STO
      ELSE C1 X R1 * EXP 'V1' STO V1 * C2 X R2 * EXP 'V2' STO V2 * + 'SOLH' STO
      END V1 DUP DERVX 2 1 LIST 1 + ARRY 'COL1' STO V2 DUP DERVX 2 1 LIST 1
+ ARRY 'COL2' STO 0 COMPLEM COEF DUP SIZE EVAL GET / 2 1 LIST 1 + ARRY 'COL3' STO R1 "Raíz1" TAG R2
"Raiz2" TAG SOLH "Yh" TAG 105 NEG CF

COL3 COL2 2 COL+ DET Q SIMPLIFY DUP 'DETV1' STO COL1 COL2 2 COL+
DET Q SIMPLIFY DUP 'DETX' STO / EVAL 'VP1' STO VP1 "V'1" TAG
DETX "›" TAG SWAP DETV1 "›V'1" TAG SWAP

105 NEG CF VP1 INTVX EVAL 'VA' STO VA "V1"
TAG 105 NEG CF COL1 COL3 2 COL+ DET Q SIMPLIFY DUP 'DETV2' STO COL1 COL2 2 COL+ DET Q / EVAL 'VP2' STO VP2
"V'2" TAG
DETV2 "›V'2" TAG SWAP
105 NEG CF VP2 INTVX EVAL 'VB' STO VB "V2" TAG SOLH VA V1 * VB V2 *
+ EVAL SIMPLIFY + "Y" TAG
    ELSE COEF 4 GET M 3 ^ * COEF 3 GET M 2 ^ * COEF 2 GET M * COEF 1 GET + + +
105 NEG SF 'M' SOLVE EVAL OBJ DROP DROP Q 'R1' STO DROP OBJ DROP DROP Q 'R2' STO
DROP OBJ DROP DROP Q 'R3' STO 105 NEG CF CLEAR R1 R2 R3 3 LIST SORT EVAL 'R1'
STO 'R2' STO 'R3' STO R1 R2
      IF ‹
      THEN R2 R3
        IF ‹
        THEN C1 X R1 * EXP 'V1' STO V1 * C2 X R2 * EXP 'V2' STO V2 * C3 X R3 * EXP 'V3' STO
V3 * + + 'SOLH' STO
        ELSE C1 X R1 * EXP 'V1' STO V1 * C2 X R2 * EXP 'V2' STO V2 * C3 X R2 * EXP X  *
'V3' STO V3 * + + 'SOLH' STO
        END
      ELSE R1 R3
        IF ‹
        THEN C1 X R3 * EXP 'V1' STO V1 * C2 X R2 * EXP 'V2' STO V2 * C3 X R2 * EXP X  *
'V3' STO V3 * + + 'SOLH' STO
        ELSE C1 X R1 * EXP 'V1' STO V1 * C2 X R1 * EXP X  * 'V2' STO V2 * C3 X R1 * EXP X
* X  * 'V3' STO V3 * + + 'SOLH' STO
        END
      END V1 DUP DERVX DUP DERVX 3 1 LIST 1 + ARRY 'COL1' STO V2 DUP DERVX
DUP DERVX 3 1 LIST 1 + ARRY 'COL2' STO V3 DUP DERVX DUP DERVX 3 1 LIST 1 +
ARRY 'COL3' STO 0 0 COMPLEM  COEF DUP SIZE EVAL GET / 3 1 LIST 1 + ARRY 'COL4' STO R1 "Raíz1" TAG R2
"Raiz2" TAG R3 "Raíz3" TAG SOLH "Yh" TAG 105 NEG CF COL4 COL2 2 COL+ COL3 3
COL+ DET Q DUP 'DETV1' STO COL1 COL2 2 COL+ COL3 3 COL+ DET Q 'DETE' STO DETE / EVAL 'VP1' STO VP1
"V'1" TAG 105 NEG CF VP1 INTVX EVAL 'VA' STO VA "V1" TAG COL1 COL4 2 COL+
COL3 3 COL+ DET Q  DUP 'DETV2' STO DETE / EVAL 'VP2' STO VP2 "V'2" TAG 105 NEG CF VP2 INTVX EVAL
'VB' STO VB "V2" TAG COL1 COL2 2 COL+ COL4 3 COL+ DET Q  DUP 'DETV3' STO DETE / EVAL 'VP3' STO
VP3 "V'3" TAG 105 NEG CF VP3 INTVX EVAL 'VC' STO VC "V3" TAG SOLH VA V1 * VB
V2 * VC V3 * + + EVAL SIMPLIFY + "Y" TAG
DETE "›" TAG SWAP DETV1 "›V'1" TAG SWAP DETV2 "›V'2" TAG SWAP DETV3 "›V'3" TAG SWAP
    END
  ELSE
  "PRESIONE VIEW

Resolucion de ecuaciones en diferencias finitas por el metodo de Lagrange.
Si le da error es muy probable que las raices sean complejas, ya que no sirve para cuando hay raices complejas o iracionales"
 
  END { DETE DETV1 DETV2 DETV3 DETX VP3 COL4 V3 R3 VC COEF VA VB V1 V2 COL3 M COMPLEM R1 R2 COL1 COL2
VP1 VP2 SOLH } PURGE
»

LGCOMP

«
CLEAR
"Ec diferenciales" { { "Lagrange 2° orden" 1 }{ "Lagrange 3° orden" 2 } { "Informacion" 3 } }
1 CHOOSE DROP
DUP 1 IF == THEN
105 NEG CF
"Ec dif COMPLEJAS: Lagrange"
{ { "Coeficientes:" "Vector de 2do orden (3 elem)" 3 }
{ "Raiz R:" "PARTE REAL de la raiz" }
{ "Raiz C:" "PARTE COMPLEJA de la raiz" }
{ "Igualado a:" "Igualado a" 9 } } { 1 0 } { } { 0 0 0 0 }
INFORM DROP EVAL 'COMPLEM' STO Q 'B' STO Q 'A' STO AXL REVLIST 'COEF' STO
105 NEG CF CLEAR
A X * EXP C1 B X * COS * C2 B X * SIN * + * DUP 'SOLH' STO "Yh" TAG
A X * EXP B X * COS * 'V1' STO
A X * EXP B X * SIN * 'V2' STO

V1 DUP DERVX 2 1 LIST 1 + ARRY 'COL1' STO V2 DUP DERVX 2 1 LIST 1
+ ARRY 'COL2' STO 0 COMPLEM COEF DUP SIZE EVAL GET / 2 1 LIST 1 + ARRY 'COL3' STO
105 NEG CF

COL3 COL2 2 COL+ DET Q SIMPLIFY DUP 'DETV1' STO COL1 COL2 2 COL+
DET Q SIMPLIFY DUP 'DETX' STO / EVAL 'VP1' STO VP1 "V'1" TAG
DETX "›" TAG SWAP DETV1 "›V'1" TAG SWAP

105 NEG CF
VP1 SIMPLIFY INTVX EVAL 'VA' STO VA "V1" TAG
105 NEG CF
COL1 COL3 2 COL+ DET Q SIMPLIFY DUP 'DETV2' STO
COL1 COL2 2 COL+ DET Q / EVAL 'VP2' STO VP2 "V'2" TAG
DETV2 "›V'2" TAG SWAP
105 NEG CF VP2 SIMPLIFY INTVX EVAL 'VB' STO VB "V2" TAG SOLH VA V1 * VB V2 *
+ EVAL SIMPLIFY + "Y" TAG
@
ELSE
2 IF == THEN
105 NEG CF
"Ec dif COMPLEJAS: Lagrange"
{ { "Coef:" "Vector de 3er orden (4 elem)" 3 }
{ "Raiz REAL:" "La raiz real" }
{ "Raiz R(C):" "PARTE REAL de la raiz COMPLEJA"  }
{ "Raiz C:" "PARTE COMPLEJA de la raiz"  }
{ "Igualado a:" "Igualado a" 9 } } { 2 0 } { } { 0 0 0 0 0 }
INFORM DROP EVAL 'COMPLEM' STO Q 'B' STO Q 'A' STO Q 'R' STO AXL REVLIST 'COEF' STO
105 NEG CF CLEAR

R X * EXP A X * EXP C1 B X * COS * C2 B X * SIN * + * + DUP 'SOLH' STO "Yh" TAG
R X * EXP 'V1' STO
A X * EXP B X * COS * 'V2' STO
A X * EXP B X * SIN * 'V3' STO

V1 DUP DERVX DUP DERVX 3 1 LIST 1 + ARRY 'COL1' STO
V2 DUP DERVX DUP DERVX 3 1 LIST 1 + ARRY 'COL2' STO
V3 DUP DERVX DUP DERVX 3 1 LIST 1 + ARRY 'COL3' STO
0 0 COMPLEM  COEF DUP SIZE EVAL GET / 3 1 LIST 1 + ARRY 'COL4' STO
105 NEG CF
COL4 COL2 2 COL+ COL3 3 COL+ DET Q SIMPLIFY DUP 'DETV1' STO
COL1 COL2 2 COL+ COL3 3 COL+ DET Q SIMPLIFY 'DETE' STO DETE / EVAL 'VP1' STO VP1
"V'1" TAG
105 NEG CF
VP1 SIMPLIFY INTVX EVAL 'VA' STO VA "V1" TAG
COL1 COL4 2 COL+ COL3 3 COL+ DET Q  DUP 'DETV2' STO
DETE / EVAL 'VP2' STO VP2 "V'2" TAG
105 NEG CF VP2 SIMPLIFY INTVX EVAL 'VB' STO VB "V2" TAG
COL1 COL2 2 COL+ COL4 3 COL+ DET Q  DUP 'DETV3' STO DETE / EVAL 'VP3' STO
VP3 "V'3" TAG 105 NEG CF VP3 SIMPLIFY INTVX EVAL 'VC' STO VC "V3" TAG SOLH VA V1 * VB
V2 * VC V3 * + + EVAL SIMPLIFY + "Y" TAG
DETE "›" TAG SWAP DETV1 "›V'1" TAG SWAP DETV2 "›V'2" TAG SWAP DETV3 "›V'3" TAG SWAP
ELSE
"PRESIONE VIEW
Resolucion de ecuaciones en diferencias finitas COMPLEJAS por el metodo de Lagrange."
END
END
{ DETE DETV1 DETV2 DETV3 R A B DETX VP3 COL4 V3 R3 VC COEF VA VB V1 V2 COL3 M COMPLEM R1 R2 COL1 COL2
VP1 VP2 SOLH } PURGE
»

MENOR

«
"Menores principales"
{{ "A:" "Matriz" 3 }}
{ 1 0 }
{ }
{ 0 }
INFORM
DROP
1
GET
DUP 'A' STO
SIZE EVAL
'COL' STO
'FILAS' STO
IF FILAS COL == THEN
A DET "DET A"  TAG
2 COL 1 - FOR i
"MENOR" COL i - 1 + "="
A COL i - 2 + ROW- DROP COL i - 2 + COL- DROP DUP DET
SWAP 'A' STO
SWAP TAG
SWAP TAG
SWAP TAG

NEXT

ELSE "Solo sirve para matrices cuadradas!" MSGBOX
END

{ 'A' 'FILAS' 'COL' } PURGE
»

ROUTH

«
"Teorema de Routh"
{{ "Coeficientes:" "Ingresar como un vector fila " 3 }}
{ 1 0 }
{ }
{ 0 }
INFORM
DROP
EVAL
'VECT' STO
VECT SIZE EVAL 'C1' STO
IF VECT 1 GET 0 > THEN
   IF VECT 2 GET 0 > THEN
   ELSE "El teorema solo Sirve para A(n) y A(n-1) positivos" MSGBOX @qiero terminar programa aca
   END
ELSE
    IF VECT 2 GET 0 < THEN
    VECT -1 * 'VECT' STO
    ELSE "El teorema solo Sirve para A(n) y A(n-1) positivos" MSGBOX @qiero terminar programa aca
    END
END
IF C1 4 == THEN @es de X^3
VECT 2 GET VECT 1 GET 0 3 ROW
VECT 4 GET VECT 3 GET VECT 2 GET 3 ROW
0 0 VECT 4 GET 3 ROW 3 COL DUP 'A' STO
ELSE
    IF C1 5 == THEN
    VECT 2 GET VECT 1 GET 0 0 4 ROW
    VECT 4 GET VECT 3 GET VECT 2 GET VECT 1 GET 4 ROW
    0 VECT 5 GET VECT 4 GET VECT 3 GET 4 ROW
    0 0 0 VECT 5 GET 4 ROW 4 COL DUP 'A' STO
    ELSE
        IF C1 6 == THEN
        VECT 2 GET VECT 1 GET 0 0 0 5 ROW
        VECT 4 GET VECT 3 GET VECT 2 GET VECT 1 GET 0 5 ROW
        VECT 6 GET VECT 5 GET VECT 4 GET VECT 3 GET VECT 2 GET 5 ROW
        0 0 VECT 6 GET VECT 5 GET VECT 4 GET 5 ROW
        0 0 0 0  VECT 6 GET 5 ROW 5 COL DUP 'A' STO
        ELSE
            IF C1 7 == THEN
            VECT 2 GET VECT 1 GET 0 0 0 0 6 ROW
            VECT 4 GET VECT 3 GET VECT 2 GET VECT 1 GET 0 0 6 ROW
            VECT 6 GET VECT 5 GET VECT 4 GET VECT 3 GET VECT 2 GET VECT 1 GET 6 ROW
            0 VECT 7 GET VECT 6 GET VECT 5 GET VECT 4 GET VECT 3 GET 6 ROW
            0 0 0 VECT 7 GET VECT 6 GET VECT 5 GET 6 ROW
            0 0 0 0 0 VECT 7 GET 6 ROW 6 COL DUP 'A' STO
            ELSE
                IF C1 8 == THEN
                VECT 2 GET VECT 1 GET 0 0 0 0 0 7 ROW
                VECT 4 GET VECT 3 GET VECT 2 GET VECT 1 GET 0 0 0 7 ROW
                VECT 6 GET VECT 5 GET VECT 4 GET VECT 3 GET VECT 2 GET VECT 1 GET 0 7 ROW
                VECT 8 GET VECT 7 GET VECT 6 GET VECT 5 GET VECT 4 GET VECT 3 GET VECT 2 GET 7 ROW
                0 0 VECT 8 GET VECT 7 GET VECT 6 GET VECT 5 GET VECT 4 GET 7 ROW
                0 0 0 0 VECT 8 GET VECT 7 GET VECT 6 GET 7 ROW
                0 0 0 0 0 0 VECT 8 GET 7 ROW 7 COL DUP 'A' STO
                ELSE
                    IF C1 9 == THEN
                    VECT 2 GET VECT 1 GET 0 0 0 0 0 0 8 ROW
                    VECT 4 GET VECT 3 GET VECT 2 GET VECT 1 GET 0 0 0 0 8 ROW
                    VECT 6 GET VECT 5 GET VECT 4 GET VECT 3 GET VECT 2 GET VECT 1 GET 0 0 8 ROW
                    VECT 8 GET VECT 7 GET VECT 6 GET VECT 5 GET VECT 4 GET VECT 3 GET VECT 2 GET VECT 1 GET 8 ROW
                    0 VECT 9 GET VECT 8 GET VECT 7 GET VECT 6 GET VECT 5 GET VECT 4 GET VECT 3 GET 8 ROW
                    0 0 0 VECT 9 GET VECT 8 GET VECT 7 GET VECT 6 GET VECT 5 GET 8 ROW
                    0 0 0 0 0 VECT 9 GET VECT 8 GET VECT 7 GET 8 ROW
                    0 0 0 0 0 0 0 VECT 9 GET 8 ROW 8 COL DUP 'A' STO
                    ELSE
                    IF C1 10 == THEN
                    VECT 2 GET VECT 1 GET 0 0 0 0 0 0 0 9 ROW
                    VECT 4 GET VECT 3 GET VECT 2 GET VECT 1 GET 0 0 0 0 0 9 ROW
                    VECT 6 GET VECT 5 GET VECT 4 GET VECT 3 GET VECT 2 GET VECT 1 GET 0 0 0 9 ROW
                    VECT 8 GET VECT 7 GET VECT 6 GET VECT 5 GET VECT 4 GET VECT 3 GET VECT 2 GET VECT 1 GET 0 9 ROW
                    VECT 10 GET VECT 9 GET VECT 8 GET VECT 7 GET VECT 6 GET VECT 5 GET VECT 4 GET VECT 3 GET VECT 2 GET  9 ROW
                    0 0 VECT 10 GET VECT 9 GET VECT 8 GET VECT 7 GET VECT 6 GET VECT 5 GET VECT 4 GET 9 ROW
                    0 0 0 0 VECT 10 GET VECT 9 GET VECT 8 GET VECT 7 GET VECT 6 GET 9 ROW
                    0 0 0 0 0 0 VECT 10 GET VECT 9 GET VECT 8 GET 9 ROW
                    0 0 0 0 0 0 0 0 VECT 10 GET 9 ROW 10 COL DUP 'A' STO
                   
                    ELSE "Solo se puede hacer hasta orden 9!" MSGBOX
END
END
END
END
END
END
END
C1 1 -
'C1' STO

A DET
DUP 1 LIST 'LISTA' STO
"DET A"  TAG

2 C1 FOR i
"MENOR" C1 i - 1 + "="
A C1 i - 2 + ROW- DROP C1 i - 2 + COL- DROP DUP DET
DUP LISTA EVAL i LIST 'LISTA' STO
SWAP 'A' STO
SWAP TAG
SWAP TAG
SWAP TAG

NEXT
    
IF
LISTA SORT EVAL
2 C1 FOR i
DROP
NEXT
0 > THEN "El sistema es estable" MSGBOX
ELSE "El sistema es inestable" MSGBOX
END
{ 'C1' 'VECT' 'A' 'LISTA' }
PURGE
»

SCHUR

«
"Schur (Ec en diferencias)"
{{ "Coeficientes:" "Vector fila con los coef a b c... TI" 3 }}
{ 1 0 }
{ }
{ 0 }
INFORM
DROP
EVAL
'VECT' STO CLEAR
{ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z } PURGE
105 NEG CF
VECT 1 GET 0 IF < THEN
VECT 1 NEG * 'VECT' STO
"Schur sirve para An>0, se multiplico toda la ecuacion por -1" MSGBOX
END
VECT DUP 'VEC' STO SIZE EVAL Q DUP 'C' STO 1 - Q 'N' STO
VECT OBJ SWAP DROP 1 NEG ADD 1 + ARRY 'MAT1' STO
VECT OBJ EVAL LIST TAIL REVLIST EVAL N 1 LIST 1 + ARRY 'MAT2' STO
VECT AXL REVLIST TAIL 'VECT' STO
2 N FOR i
MAT1
VECT
0 + TAIL 'VECT' STO VECT
REVLIST OBJ 1 LIST 1 + ARRY
i COL+
'MAT1' STO
NEXT
@ TENGO LISTO MAT1
VEC AXL TAIL 'VEC' STO
2 N FOR a
MAT2
VEC
0 + TAIL 'VEC' STO VEC
REVLIST OBJ 1 LIST 1 + ARRY
a COL+
'MAT2' STO
NEXT
@ TENGO LISTO MAT2
1 1 LIST 'LISTT' STO
MAT1
1 N FOR b
LISTT
1 N 1 - FOR c
0 +
NEXT
EVAL N 1 LIST 1 + ARRY N b + COL+
NEXT
@HASTA ACA TENGO UNA MATRIZ DE N*2N

1 N FOR f
LISTT
1 N 2 * 1 - FOR d
0 +
NEXT
EVAL 1 1 LIST N 2 * + ARRY N f + ROW+
NEXT

LISTT N 1 + + MAT2 TRAN REPL
LISTT N 1 + + REVLIST MAT2 REPL
LISTT N 1 + + TAIL N 1 + + MAT1 TRAN REPL
'MATT' STO
MATT "Schur" TAG
@COMIENZA EL ANALISIS DE SCHUR

1 N 1 - FOR h
h 2 * IDN 'S' STO

1 4 FOR g
CASE
g 1 == THEN 1 'I' 1 'J' STO STO END
g 2 == THEN 1 'I' C 'J' STO STO END
g 3 == THEN C 'I' STO 1 'J' STO END
g 4 == THEN C DUP 'I' STO 'J' STO END
END
MATT I J 2 LIST I h 1 - + J h 1 - + 2 LIST SUB
CASE
g 1 == THEN S SWAP { 1 1 } SWAP REPL 'S' STO  END
g 2 == THEN S SWAP 1 h 1 + 2 LIST SWAP REPL 'S' STO  END
g 3 == THEN S SWAP h 1 + 1 2 LIST SWAP REPL 'S' STO END
g 4 == THEN S SWAP h 1 + h 1 + 2 LIST SWAP REPL END
END
NEXT
DUP
h 74 + CHR OBJ STO
NEXT
LISTT
MATT DET DUP "|Schur|" TAG ROT ROT +
1 N 1 - FOR l
l 74 + CHR OBJ DET DUP
"="
TAG
l 2 * TAG
"S" TAG ROT ROT +
NEXT
TAIL
SORT
1 GET
0 IF > THEN "La solucion es ESTABLE" MSGBOX
ELSE "La solucion es INESTABLE" MSGBOX
END
{ MAT1 MATT LISTT MAT2 DETS S VECT N I J VEC A B C D E F G H I J K L M N O P Q R S T U V W X Y Z }
PURGE
»

SENCOS

«
"Mate p econ"
{{ "Seno" 1 }
{ "Coseno" 2 }
{ "Sacar — y š" 3 }
{ "Cuadratica" 4 }}
1 CHOOSE DROP
CASE
105 NEG CF @ EXACT MODE ON
DUP 1 == THEN DROP @ SUMA DEL SENO
"SENO"
{{ "Sen(A+B)" 1}
{ "Sen(A-B)" 2 }} 1 CHOOSE DROP
1 IF == THEN @SUMA SENO
"Suma del seno"
{{ "A:" "Sen(A+b)" 9 }
{ "B:" "Sen(a+B)" 9 }}
{ 1 0 } { } { 0 0 }
INFORM DROP EVAL
'B' Q STO Q 'A' STO
A SIN B COS * B SIN A COS * + EVAL "Sen(A+B)" TAG
ELSE @RESTA SENO
"Resta del seno"
{{ "A:" "Sen(A-b)" 9 }
{ "B:" "Sen(a-B)" 9 }}
{ 1 0 } { } { 0 0 }
INFORM DROP EVAL
'B' Q STO Q 'A' STO
A SIN B COS * B SIN A COS * -  EVAL "Sen(A-B)" TAG
END
END
DUP 2 == THEN DROP @ SUMA DEL COSENO
"Suma del coseno"
{{ "A:" "Cos(A+b)" 9 }
{ "B:" "Cos(a+B)" 9 }}
{ 1 0 } { } { 0 0 }
INFORM DROP EVAL
'B' Q STO Q 'A' STO
A COS B COS * A SIN B SIN * -  EVAL "Cos(A+B)" TAG
END
DUP 3 == THEN DROP @ SACAR OMEGA Y RO
"Sacar — y š"
{{ "a:" "Parte real de la raíz"  }
{ "b:" "Parte imaginaria de la raíz"  }}
{ 1 0 } { } { 0 0 }
INFORM DROP EVAL
'B' Q STO 'A' Q STO
A SQ B SQ + ƒ EVAL XQ "—" TAG
B A / ATAN EVAL Q "š" TAG
END
DUP 4 == THEN DROP @SACAR RAICES
"Cuadratica"
{{ "Vector con a b c:" "VECTOR con a b c (siendo c TI)" 3 }}
{ 1 0 } { } { 0 }
INFORM
DROP EVAL AXL EVAL
'C' Q STO 'B' Q STO 'A' Q STO
B NEG B SQ 4 A C * * - ƒ + A 2 * / "Raíz 1" TAG
B NEG B SQ 4 A C * * - ƒ - A 2 * / "Raíz 2" TAG
END
END
{ A B C }
PURGE
»

SOLVS

«
"Sistema de ecuaciones"
{{ "Ec en fila:" "c/ec en una posicion" }
{ "Var en fila:" "c/var en una posicion" }}
{ 1 0 } {  } { 0 0 }
INFORM DROP EVAL
SOLVE
EVAL
»

XTREM

«
-105 CF @EXACT MODE ON
"Extremos"
{{ "F(x,y...):" "Funcion" }
{ "Variables:" "Como vector fila c/elem una variable" }
{ "Restricciones:" "VECTOR FILA c/res un elemento" }}
{ 1 0 } { } { 0 0 0 } INFORM DROP EVAL
'REST' STO 'VARI' STO 'FUN' STO 1 'SALTO' STO
{ A B C D G H I J K L M N O P Q R S T U  j k l m n o p q r s t u }
PURGE
VARI SIZE EVAL Q 'N' STO REST SIZE EVAL Q 'M' STO
FUN
1 M FOR i
64 i + CHR OBJ REST i GET * -
NEXT
DUP 'LAG' STO
"L" TAG
1 N FOR a
LAG
VARI a GET DERIV EVAL DUP VARI a GET TAG "L" TAG SWAP
78 a + CHR OBJ STO @A PARTIR DEL O
NEXT

1 M FOR b
REST b GET NEG 70 b + CHR OBJ STO @EMPIEZO DE G

1 N FOR c
70 b + CHR OBJ
VARI c GET DERIV EVAL DUP VARI c GET TAG b TAG "G" TAG SWAP
105 SALTO + CHR OBJ STO @A PARTIR DEL J MINUSCULA
1 'SALTO' STO+
NEXT
NEXT

1 N FOR a
78 a + CHR OBJ 0 =
NEXT
1 M FOR b
70 b + CHR OBJ 0 =
NEXT
M N + 1 LIST ARRY @VECTOR CON FUNCIONES
VARI OBJ DROP
1 M FOR c
64 c + CHR OBJ
NEXT
M N + 1 LIST ARRY
SOLVE 'PTOS' STO
PTOS SIZE 'NP' STO @NP ES NRO DE PUNTOS

@EMPIEZO A ARMAR LA MATRIZ
M N + IDN
1 'SALTO' STO
1 M FOR b
1 N FOR c
105 SALTO + CHR OBJ
1 'SALTO' STO+
NEXT
1 N 2 LIST ARRY
b 1 IF ‹ THEN
b ROW+
END
NEXT
DUP 'MATRIZB' STO
1 M 1 + 2 LIST SWAP REPL
MATRIZB TRAN M 1 + 1 2 LIST SWAP REPL

1 N FOR a
1 N FOR b
78 a + CHR OBJ
VARI b GET DERIV EVAL {1,1} ARRY
M a + M b + 2 LIST SWAP REPL
NEXT
NEXT
1 M FOR c
[[0]] c c 2 LIST SWAP REPL
NEXT


DUP 'HESSIANO' STO "H" TAG

1 NP FOR f
PTOS f GET DUP 'PTO' TAG
SWAP HESSIANO SWAP OBJ EVAL 1 +
1 SWAP FOR c
1 c IF == THEN
M N 2 + + c - PICK SWAP SUBST
ELSE
M N 1 + + c IF ‹ THEN
SWAP SUBST
ELSE SWAP DROP END END
NEXT

'HESSEV' STO
HESSEV DET "DET" TAG
M 2 * 1 + M N + IF ‹ THEN
1 M 2 * 1 + M N + - FOR a
HESSEV
M N + 1 + a - COL- DROP
M N + 1 + a - ROW- DROP
DUP 'HESSEV' STO DET
M N + a - TAG "MENOR" TAG
NEXT
END

NEXT @TERMINA UN PUNTO SIGUE CON EL OTRO

"Presione VIEW para el analisis
La funcion tiene un MINIMO si:
-n° de restricciones PAR:
Todos los determinantes positivos
-n° de restricciones IMPAR:
Todos los determinantes negativos
La funcion tiene un MAXIMO si:
-n° de restricciones PAR:
›2m+1= negativo
›2m+2= positivo
›2m+3= negativo
y asi sucesivamente
-n° de restricciones IMPAR:
›2m+1= positivo
›2m+2= negativo
›2m+3= positivo
y asi sucesivamente"



{ HESSIANO MATRZB COL LAG  FILAS HESSEV NP PTOS A B C D E F G H I J K L M N O P Q R S T U V W X Y Z SALTO g h j k l m n o p q r s t u v w x y z }
PURGE
»

Top

Twitter

Cargando...

CAPTCHA
Esta pregunta es para probar si usted es un visitante humano y así evitar el spam automatizado.
4 + 0 =
Solucione este simple problema matemático e ingrese el resultado. Por ejemplo: para 1+3, ingrese 4.