Programas de matemática
- Inicie sesión o regístrese para enviar comentarios
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
- Inicie sesión o regístrese para enviar comentarios
Otros temas de interes
- como hacer una barra de menus ??
- Nueva Calculadora HP?? HP 39gII spécification
- ROM 2.10-7 Spreadsheet & Geometry manuales y biblioteca.
- Ayuda con Raices
- [PROYECTOS] EoEiProEngLib, MathEngProLib, EquatnEngProLib & and HP50GNKLib
- ayuda con integral exponencial
- programa tipo excell que permita introducir formulas en las tablas
- como aprender tantos comandos en SYSTEM?
- [PROYECTO] Universal Font Library for HP50G CAS para recuperar "Hello World" 3 ->GROB de la HP48GX (1994)
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
»- Inicie sesión o regístrese para enviar comentarios









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