martes, 28 de mayo de 2019

Conversor de Unidades



Descargar conversor de unidades para la calculadora Hp prime, convierte con comodidad las unidades para facilitar tus cálculos.

https://dl.dropboxusercontent.com/s/gvdhkzij5xhmj83/Conversor%20de%20Unidades.zip

indice Apuntes 50g


apuntes 50g

indice Apuntes R



Apunte 5 R Generador de niveles y Uniendo vectores

Antes vimos cómo generar vectores numéricos y de diverso orden en R, pese a que estos sean útiles, a veces no son adecuados para los usos que nosotros deseemos darle a nuestros proyectos, para esto el generador de niveles nos será de ayuda, así tambien veremos cómo trabajar con vectores ya conocidos uniéndolos, así como también unir cadenas de texto (usaremos estos módulos en futuros ejemplos)


 Script 9
Analizaremos el uso de un generador de niveles o gl
# Script 9
# el generador de niveles o gl es util para generar una serie de datos regulares

print(a<-gl(3,5))
#este repite una secuencia de datos desde la unidad hasta el primer término
#repitiendo la cantidad de veces indicada en la segunda parte

print(a<-gl(3,5, length = 20))
# repetirá la cadena hasta completar la longitud especificada

print(a<-gl(2,8, label = c("POSITIVO", "NEGATIVO")))

# añadimos un vector de datos que serán los datos generados
# estos obedecerán a los criterios vistos 
 
Salida en la consola de comandos:
 [1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3
Levels: 1 2 3
 [1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 1 1 1 1 1
Levels: 1 2 3
 [1] POSITIVO POSITIVO POSITIVO POSITIVO POSITIVO POSITIVO POSITIVO POSITIVO NEGATIVO NEGATIVO
[11] NEGATIVO NEGATIVO NEGATIVO NEGATIVO NEGATIVO NEGATIVO
Levels: POSITIVO NEGATIVO
 Script 10
En este nuevo script uniremos dos vectores con el comando unión y uniremos varias cadenas de texto con el comando paste
# Script 10
# con el comando union uniremos dos elementos en un OBJETO
# llamado VECTOR

print(union("Este es un vector", 5))

# el comando union sólo sirve para 2 valores, se usa más para la unión de 
# 2 conjuntos, pero nos servirá en estos primeros ejemplos

print(paste("Esta", " Es", "una cadena", 123, "de varios objetos"))
# en caso queramos unir varios objetos en una sola cadena usaremos base() 

Salida en la consola de comandos:
[1] "Este es un vector" "5"                
[1] "Esta  Es una cadena 123 de varios objetos"
Estos comandos nos permiten manipular de modo muy básico vectores

Apunte 4 R Generando Vectores

En R existen múltiples tipos de objetos, todos ellos guardan relación entre ellos, hoy veremos cómo crear vectores, y todas las opciones que tenemos para

 Script 5
 Crearemos un vector simple
# Script 5

# Es muy útil crear vectores con ciertas características 
# para nuestros análisis estadísticos,  

print(a<-1:10)

# el operador dos puntos permite asignar vectores, tiene 
# mayor relevancia que los operadores aritméticos o lógicos

#en este ejemplo imprimiremos un vector con 10 elementos
# desde el 1 hasta el 10
# vortice30.blogspot.com 
Salida en la consola de comandos:
[1]  1  2  3  4  5  6  7  8  9 10
 Script 6
Ahora usaremos el comando seq
# Script 6

# Existen diversos comandos para declarar vectores

print(a<-seq(12,40,4))

# seq indica una secuencia con atributos de entrada
# seq(INICIO, FIN, intervalos)
# vortice30.blogspot.com
Salida en la consola de comandos:
[1] 12 16 20 24 28 32 36 40 
Antes de Continuar con el siguiente Script es necesario conocer el concepto de Atributos de Funciones en R:  
  Fuente: propia
 Script 7
Ahora usaremos los Atributos estos son valores que nos permiten usar valores preestablecidos para cada comando, para más información, es recomendable consultar la documentación del sistema.

# Script 7
# esta es una variación del script anterior 
print(a<-seq(to=41,from=1,length=5))
 
# seq indica una secuencia con atributos de entrada
# vemos los atributos de la función seq()
# vortice30.blogspot.com
Salida en la consola de comandos:
[1]  1 11 21 31 41
 Script 8
esta vez crearemos un vector con el comando rep
# Script 8
# declarar un vector con elementos repetidos

print(a<-rep(2,6))

# esto nos devolvera un vector donde se 
# repetira el numero 2, 6 veces
# vortice30.blogspot.com
Salida en la consola de comandos:
[1] 2 2 2 2 2 2
Continuamos viendo las funcionalidades de R, de momento estamos viendo los aspectos más simples pero R esta diseñado para trabajar con gran cantidad de Datos, esto apenas comienza, hasta pronto.

Apunte 3 R Ejemplos básicos

Para este y para los siguientes casos utilizaremos scripts de extensión *.R, en nuestro editor RStudio, recordemos que la forma de ejecutarlos, será abriendo los scripts con nuestro IDE, y ejecutando Run o Source dependiendo de la manera en la que deseemos ejecutar nuestro script: 
 Script 1
 Este script es el clásico hola mundo, usaremos un objeto del tipo string este es una cadena separada por "" ó '' 
# Script 1

# comenzaremos con algo sencillo
# Estas líneas son los comentarios
# se anteceden con un #

print("Hola Mundo")
 
Salida en la consola de comandos:
[1] "Hola Mundo"

Script 2
 Asignaremos valores y los imprimiremos en pantalla
# Script 2
# podemos asignar los valores usando -> ? <-

a<-1
3->b
print(a)
print(b)
Salida en la consola de comandos:
[1] 1
[1] 3

Script 3
# Script 3
# en una linea se pueden hacer varias ordenes al mismo tiempo

a<-1
3->b

print(c<-(eval(a+b)))

# hemos definido la variable c y la hemos imprimido en pantalla 

Salida en la consola de comandos:
[1] 4 
Script 4  
Asignaremos valores y los imprimiremos en pantalla
# Script 4
# en una linea se pueden poner multiples ordenes
# separados por punto y coma
# esta es una variación del ejemplo anterior

print("multiples ordenes");a<-1;3->b;print(c<-(eval(a+b)));print(c)

# hemos definido la variable c y la hemos imprimido en pantalla 

Salida en la consola de comandos:
[1] "multiples ordenes"
[1] 4
[1] 4 
De momento hemos visto los conceptos más básicos de R,como declarar valores e imprimirlos en pantalla, sin embargo R es poderoso y capaz de hacer mucho más, hasta pronto.

Apunte 2 R Sobre RStudio

¿Por qué no usar sólo Rcomader?
 R comander es una herramienta sumamente util para poder usar R.
Pero no es adecuada para la programación de Scripts, pues solo se limita a la ejecución de instrucciones previamente cargadas.
Solo que lo hace manualmente línea a línea.


NOTA.- pese a que esto parezca un limitante no lo es, en R un grupo de instrucciones muy complejas pueden estar sólo en una sola línea.




En su lugar utilizaremos RStudio, Es un IDE (entorno de desarrollo integrado) muy flexible lo usaremos para editar nuestro fichero ejemplo.R  En estos ejemplos usaremos scripts de R, con este editor podremos apreciar claramente algunas variaciones en la sintaxis del lenguaje R, Incorpora una terminal de R totalmente funcional.


Una sesión común de RStudio tiene los siguientes paneles:
  • Los paneles se pueden activar en la el menú view.
  • Si se tiene mas de una versión de R se puede escoger que versión se desea usar.
  • Podemos guardar nuestros Scripts y llamarlos luego desde una terminal de comandos.

Nota.- R es usado con frecuencia en el cómputo de grandes cantidades de información por lo que Rstudio surge como una opción de automatizar diversas funciones, (Rstudio pro tiene una versión orientada a servidores), no obstante la versión gratuita es muy funcional para el usuario de escritorio.

Recomendación para mayor comodidad del usario es recomendable asignar la extensión *.R a Rstudio.

Apunte 1 R introducción y ejecución

R es un entorno y lenguaje de programación con un enfoque al análisis estadístico, incluye la posibilidad de cargar diferentes bibliotecas o paquetes con funcionalidades de cálculo o gráficos. es software libre y de código abierto, está disponible para los sistemas operativos Windows, Macintosh, Unix y GNU/LinuxSu desarrollo actual es responsabilidad del R Development Core Team
Fuente:
https://es.wikipedia.org/wiki/R_(lenguaje_de_programación).



Si deseas instalar R, puedes hacerlo en: https://cran.r-project.org/bin/windows/base/ si usas windows.


¿Cómo ejecutar R?
 
R trabaja principalmente en modo de línea de comandos, ejecutando ficheros de extensión *.R pudiéndose usar IDE variado como Emacs, eclipse, SublimeText e incluso en Blog de notas de Windows.
Estos ficheros llaman múltiples archivos entre sí y permiten al usuario trabajar con  otros programas como Python (mediante RPy), Perl (mediante Statistics::R ), etc




Podemos realizar nuestra primera sesión en R llamando a la línea de comandos.

En Windows  ejecutar ‘Rterm’ como una aplicación 
 
En Linux  Ctrl + Alt + t

Llamaremos a R con el comando ‘R’
  
Desde esta terminal abierta podremos ejecutar instrucciones como si se tratase de una calculadora.

Todas estas instrucciones pueden guardarse en un fichero *.R el cual luego será ejecutado por el sistema.

Nota.- El modo interactivo puede ser útil para probar nuevos módulos o para trabajar directamente con los datos. Pero en general es mucho más productivo trabajar con R mediante un entorno integrado de desarrollo (IDE).


Para esto nosotros usaremos Rstudio en su versión gratuita. 





Este software también es software libre y esta disponible para múltiples sitemas operativos, (Windows, Mac y Linux), puedes descargarlo en https://www.rstudio.com/products/rstudio/download/

Apunte 5 Hp 50g Primeros programas y DEBUG

Anteriormente dijimos que un programa es la HP50g funciona como si digitáramos las instrucciones directamente en la pila, de la misma manera que si realizáramos cálculos en modo RPN, es  por eso que comenzaremos con un pequeño programa, escrito utilizando algunos comandos nuevos y otros ya conocidos:
STO
Con este comando guardamos variables en la memoria de la calculadora(luego veremos otra manera más práctica de definir variables sin necesidad de llenar la memoria de información muchas veces innecesaria)ejemplo:
OBJETO
‘NOMBRE’
STO
Si colocamos el nombre de un objeto ya definido se nos devolverá el valor de dicho objeto, para poder nombrarlo solamente, debemos de colocar su nombre encerrado entre apóstrofos (‘ ‘).
INPUT
Este comando coloca letreros en la pantalla y genera una entrada de datos que serán colocados en la pila como una cadena de caracteres, ejemplo:
“MENSAJE 1”
“MENSAJE 2”
INPUT
OBJ->
Este comando convierte a objeto a una cadena de texto (Siempre que la cadena sea el primer objeto del stack) como si esta fuera digitada en la pilaejemplo:
PURGE
Previamente colocamos una lista ({nombre1nombre2 …..})Este comando borra los elementos antes seleccionados.
EVAL
Opera sobre objetos encerrados en apóstrofos si es el nombre de una variable o programa guardado en la memoria, devuelve su valor o ejecuta el programa, si en cambio es una operación algebraica, la resuelve y devuelve el resultado.
Estos serán los comandos previos que usaremos para este breve ejemplo, si no ha quedado claro no se olviden de hacer un DEBUG
PROGRAMA 1 MULTIPLICACIÓN
« "Ingrese el 1er número" ""
INPUT
OBJ->
"Ingrese el 2do número" ""
INPUT OBJ-> »
Al guardarlo y ejecutarlo, este programa sencillo se encarga de devolver el producto de dos números
PROGRAMA 2 CIRCULO
«  "Ingrese el radio"    ""                              
INPUT OBJ->
'RADIO'
STO
'RADIO*3.14*2'  EVAL
'RADIO^2*3.14'  EVAL
{RADIO} PURGE »
Este programa calcula el perímetro y el área de un circulo, recuerden hacer un DEBUG para ver para ue sirve cada parte del código, los comandos y partes de código son explicados al principio de este post. 

Hasta el momento estos programas son muy sencillos y lineales: luego veremos mejores maneras de visualizar los resultados y maneras mas llamativas de colocarlos, generar interfazes mas amigables y programas mas completos. Si no quedo claro no se olviden de hacer un DEBUG.

Apunte 4 Hp 50g Primeros programas y DEBUG


Un programa en la HP50g es un conjunto de instrucciones separadas por espacios o saltos de pagina, de tal manera que operan en la calculadora, como si nosotros las digitáramos directamente en el stack, siendo estas la inserción de objetos, operadores, comandos etc. (Respetando siempre la notación RPN)

PROGRAMA SUMA

« + »

Guardamos como suma, luego colocamos dos números en el stack y finalmente ejecutamos suma.

Pero este programa operaba siempre y cuando había previamente dos elementos cargados en la Pila, veamos que pasaría si ejecutamos solo con uno.
 
 
El resultado hubiera sido el mismo si no habría elementos en el Stack, recomiendo probar este programa con dos matrices o dos complejos, y alternarlos para ver su comportamiento.

DEBUG

   El programa anterior es tan sencillo que simplemente no lo necesita, pero para que sirve el debug??, esta es una herramienta de la hp, que nos permite ejecutar lentamente un programa, ya sea para entender como es que funciona un código o detectar donde esta un error.

¿Cómo ejecutarlo?

1.- Colocar los elementos previos en el Stack (si no es necesario obviar este paso)

2.- Escribir el nombre del programa encerrado en apóstrofos ‘ ‘Ejm:
3.- seleccionar el menú PRG (en la tecla <┐EVAL) y seleccionar…
 4.- seleccionar DBUG y para pasar paso por paso SST↓ y KILL para terminar.
Como ya dije antes el programa SUMA es tan sencillo que no necesita DEBUG, pero esta herramienta es muy útil para entender y arreglar programas más complejos.

Apunte 3 Hp 50g RPN y manejo de pila

El método para introducir datos será ahora el RPN, hemos escogido este, pues es práctico para la programación de la calculadora. Sabemos que la forma de operar en RPN es mediante niveles, colocando en cada uno objetos, sean números, listas, comandos, matrices, programas etc… colocando los objetos de acuerdo a niveles y enumerándolos de forma ascendente.
Siendo los de menor orden los últimos en ser colocados en el Stack o Pila, para ello tenemos comandos que operan en el stack, recomiendo probarlos  para saber como funcionan, los principales comandos son estos:

***Nota, no consideramos que los comandos vayan en la posición 1:

DROPElimina el ultimo elemento en ser colocado ( 1:) y mueve los demás un nivel abajo

DUPDuplica el último elemento en ser colocado y mueve los demás un nivel arriba

CLEAR Borra todo el Stack.

SWAP invierte los elementos 1: y 2:

UNROTMueve el objeto de 1: a 3:

DEPTHIndica el número de elementos del stack.

Estos comandos se colocan en la pila y realizan las acciones sin importar el tipo de objeto que se encuentre anterior a ellos, pero existen otros comandos que necesitan

***Nota, no consideramos que los comandos vayan en la posición 1:, ni el real “n”en la posición 2

ROLL mueve a posición 1: el objeto de posición n:

PICK copia el objeto de posición n:

DROPN Elimina los primeros n: elementos.

Existen varios comandos RPN pero, primero trataremos de usar solamente estos, puesto que son de fácil aplicación.

Apunte 2 Hp 50g introducción a RPN



Bueno, ya hemos visto el tipo de objetos (en realidad existen muchísimos más, pero esos son los mas utilizados); ahora veremos la forma de entrada en la calculadora, en la 50g tenemos dos formas de proceso; el modo algebraico y el RPN (ambos son efectivos).
Pero creo que ya estamos familiarizados con ambos, así que veremos programas en ambos, para entender como es el funcionamiento y la diferencia de ambas formas de trabajo.

NOTA.- para guardar cualquier archivo existe el comando STO en modo RPN y el carácter►en modo algebraico (ambos en la misma tecla).

MODO ALGEBRAICO
 Guarda la matriz mostrada con el nombre MATRIZ en el directorio actual


MODO RPN


Presionando STO guarda un archivo con el nombre CADENA en el directorio actual (en este caso HOME)

NOTA.- usaremos el comando MSGBOX este comando crea una anuncio con un string previamente cargado para el siguiente programa

MODO ALGEBRAICO
«MSGBOX(“ESTE ES UN MENSAJE”)»►PROGRAMA1
MODO RPN
« “ESTE ES UN MENSAJE”  MSGBOX  »
.PROGRAMA1
STO
Ambos generan el mismo programa,(podemos ejecutarlo llamándolo por el nombre que le hemos dado) que al ser ejecutado genera la siguiente imagen


Para el resto de estos pequeños tutoriales usaremos el modo RPN, porque es más conocido y es más fácil encontrar referencia y ayuda en este modo,

Apunte 1 Hp 50g objetos

La hp es una calculadora muy funcional y pese a que es un modelo antiguo, aún sigue siendo usada por varios usuarios, es por eso que veremos estos breves apuntes tratando de explicar su funcionamiento y cómo programar con ella.

para conocer un poco del funcionamiento de esta te recomiendo familiarizarte con los objetos de esta calculadora.

Objetos
Son todos los datos, programas y demás que tenemos en nuestra calculadora, mostraremos las formas mas comunes:

EJEMPLO        TIPO DE OBJETO

 -5                         Real 
es un numero sin mas no necesita delimitadores

 (4 , -3 )                   Complex 
un par ordenado o número complejo, son dos reales entre paréntesis, separados por una coma.

 "hola"                     String 
Es un grupo de caracteres encerrados entre comillas " "

 [  [  4,5 [ 9,6 ]       Matrix- Vector 
Un conjunto de reales ordenados, 

 { "sol"   1 , « 3 *» }            Lista 
Un conjunto de objetos, las listas pueden tener strings, reales o cualquier tipo de archivo, al ser tan flexibles esto hace sean muy útiles  para programar; se colocan entre corchetes { } y se separan con comas y/o espacios dependiendo de que modo de operar se este ejecutando.

 « 2 5 +»                 Programa
 Un grupo de instrucciones encerradas entre «», pueden contener instrucciones objetos u otros programas  

mas adelante veremos otros tipos de objetos,

Para mas información  sobre los tipos de objetos, te recomiendo analizar como funciona el comando TYPE.

Analisis Matricial hp50g

Este programa te ayudará en tus calculas de estrucuras por medios matriciales, utilizando el método de las rigideces, te permitira formar tus propias matrices y obtener desplazamientos y deformaciones, está propgramado para resolver los siguietes tipos de estructuras.
Para más novedades no te olvides de revisar las novedades de la página.

https://dl.dropboxusercontent.com/s/xf678z483hqowjr/AnalisisMatr.zip

Momentos de Empotramiento perfecto

Esta aplicación te ayudará a obtener las reacciones en un modelo perfectamente empotrado, util para cálculos estructurales, y para complementar los fundamentos de análisis matricial.

https://dl.dropboxusercontent.com/s/772q6p4fnfmp0hl/MomentosEmpotramiento.zip

Editor Fácil

Este es un programa sencillo para la calculadora hp 50g, te permitirá hacer tus propios formularios, embeber tus propias rutinas y autogenerar ejecutables para esta calculadora.

https://dl.dropboxusercontent.com/s/69tyjhb4fpofqoy/EditorFacil.zip


Última entrada.

Modos de vibración

Este programa, le permitirá calcular y visualizar los vectores modales de un modelo de masas concentradas así como sus frecuencias naturales...