sábado, 28 de abril de 2012

Método de Langranje en matlab Gui



















Acontinuacion Describo Cada una de las lineas de codigo Usadas en el programa



%Codigo del edit tex (puntos)
function puntos_Callback(hObject, eventdata, handles)
x=str2num(get(handles.puntos,'string'));
n=length(x);

%Codigo del Edit Tex (Funcion)
function funcion_Callback(hObject, eventdata, handles)
fx=inline(get(handles.funcion,'string'));

%codigo del Edit Tex (int "punto en el cual interpolar")
nx=str2double(get(handles.int,'string'));

%codigo del boton Salir
function salir_Callback(hObject, eventdata, handles)
close(gcbf);

%codigo Del boton Graficar
function graficar_Callback(hObject, eventdata, handles)
handles.axes1;
fx=inline(get(handles.funcion,'string'));
ezplot(fx);

%Codigo del Boton Calcular

function calcular_Callback(hObject, eventdata, handles)
x=str2num(get(handles.puntos,'string'));
n=length(x);
fx=inline(get(handles.funcion,'string'));
nx=str2double(get(handles.int,'string'));
s=0;
for k=1:n
    Num=1;
    Dem=1;
    for i=1:n;
        if k ~=i;
            Num=Num*(nx-x(i));
            Dem=Dem*(x(k)-x(i));
        end
        La=Num/Dem;
    end
     s=s+La*fx(x(k));    
end
set(handles.salida,'string',s);


jueves, 26 de abril de 2012

Numeros Primos en C++

#include<iostream>
#include<conio.h>
using namespace std;

main ()
 {
  int k;
   do{
    cout<<"ingrese un numero positivo: ";
     cin>>k;
}   
while (k<=0);
 int i=1, ban=0;
  do{
     i=i+1;
       if (k%i==0&&k!=2)
       ban=1;
 }while (i<k/2&&ban==0);
   if (ban==0)
   cout<<endl<<"es primo"<<endl;
else
 cout<<endl<<"es compuesto"<<endl;
system("pause");
}

miércoles, 25 de abril de 2012

Método de la Secante- en Scilab

function y=f(x)
y=exp(-x^2)-x;
endfunction

function x = secante(x0,x1,tol)
j=2;
i=1;
x(1)=x0;
x(2)=x1;
ea(i)=100;
while abs(ea(i))>=tol
   x(j+1)=(x(j-1)*f(x(j))-x(j)*f(x(j-1)))/(f(x(j))-f(x(j-1)));
   ea(i+1)=abs((x(j+1)-x(j))/x(j+1))*100;
   j=j+1;
   i=i+1;     
end

printf(' i \t\t x(i) \t Error aprox (i) \n');
printf('%2d \t %11.7f \t \n',0,x(1));

for k=2:j;
    printf('%2d \t %11.7f \t %7.3f \n',k-1,x(k),ea(k-1));
end

endfunction

domingo, 22 de abril de 2012

Bisección en matlab (gui)

Metodo de Biseccion con Interfaz de usario en Matlab.

















Les dejo acontinuacion los comandos usados en cada caso.
%Boton graficar.

function graficar_Callback(hObject, eventdata, handles)
handles.grafica
funs=inline(get(handles.fun,'string'));
ezplot(funs);

%CODIGO DEL  PUSH BUTTON CALCULAR
function calcular_Callback(hObject, eventdata, handles)
funs=inline(get(handles.fun,'string'));
a=str2double(get(handles.aa,'string'));
b=str2double(get(handles.bb,'string'));
e=str2double(get(handles.ee,'string'));
%validando el ingreso de Datos (que sean numeros no letras funcion isnan())
if isnan(a)
    errordlg('Valor Fuera de Rango en A','Error');
elseif isnan(b)
    errordlg('Valor Fuera de Rango en B','Error');
elseif isnan(e)
    msgbox('Valor Fuera de Rango en E','Upss','error');
return
else
if funs(a)*funs(b)< 0
    while abs(b-a)>e
        x = (a+b)/2;
        if funs(a)*funs(x)==0
            a=x;
        elseif funs(a)*funs(x)<0
            b=x;
        else
            a=x;
        end
        set(handles.solucion,'string',x);
    end
else
    msgbox('NO EXISTEN RAIZ EN ESE INTERVALO','UPSS','warn');
end
end

%CODIGO DEL PUSH BUTTON DE SALIR
function salir_Callback(hObject, eventdata, handles)
close(gcbf);

%CAMBIOS EN LA FUNCION DE CIERRE DE LA APLICACION
% --- Executes when user attempts to close figure1.
function figure1_CloseRequestFcn(hObject, eventdata, handles)
preg=questdlg('¿Desea Salir de la Apliación?',...
    'Salir','Si','No','No');
if strcmp(preg,'No');
    return
else
    msgbox({'Gracias por usar nuestro Software',...
            'Desarrollado por: Israel Nuñez ',...
            ' E-Mail:isrant86@gmail.com  '},'Acerca de');
end
delete(hObject);
Posteriormente Publicare el enlace para que lo puedan descargar.





sábado, 21 de abril de 2012

Funciones Basicas de Sympy con python

SymPy es una biblioteca escrita en Python cuyo objetivo es reunir todas las 
características de un sistema de álgebra computacional (CAS), ser fácilmente 
extensible y mantener el código todo lo simple que sea posible. SymPy no requiere 
ninguna biblioteca externa, salvo para soporte gráfico.(Wikipedia)
Aquí les dejo algunas de las funciones Básicas de esta librería. 
los comentarios explican en que consiste cada una de las funciones   
 
 
#Función para sacar el valor absoluto de un entero.
from sympy.functions import abs
abs(-234.6547)

#Este devuelve el argumento que uno le da, y lo devuelve en radianes, siempre que sea
# un numero real devuuelve siempre 0.
from sympy.functions import arg
from sympy import I, sqrt
arg(2.0)

arg(I)

arg(sqrt(2) + I*sqrt(2))
# Esta funcion devuelve la menor de dos valores comparables.
from sympy.functions import min_
min_(1,2)

from sympy import Symbol
#Aqui se l3e asigna a la x una variable. 
x = Symbol('x')
min_(1,x)

#Esta funcion devuelve el mayor de 2 variables que puedan ser comparables
from sympy.functions import max_
max_(1,2)

from sympy import Symbol
x = Symbol('x')
max_(1,x)

#Esta funcion devuelve la parte real de una expresion
from sympy.functions import re
from sympy import I
re(2+3*I)

#Esta funcion devuelve True or false, la raiz contra el numero racional de algo. 
from sympy.functions import sqrt
from sympy import Rational
sqrt(2) == 2**Rational(1,2)

#Esta funcion devuelve el signo de cualquier número real(no complejo)
#si es negativo devuelve -1, si es positivo devuelve 1, y si es 0 devuelve 0
from sympy.functions import sign
sign(-1)

sign(0)

sign(32)

martes, 17 de abril de 2012

Método de Bisección en Python 3.x

Método de biseccion realizado en Python 3.x. Con algunas modificaciones puede correr en la verción 2.x de python.

#Realizado en python 3.x
from math import sin,cos,tan,asin,acos,atan,sqrt,log,exp
from math import sinh,cosh,tanh,asinh,acosh,atanh
print('Metodo de Bisseccion\n')
ec=input('De la funcion a resolver: ')  
x1=float(input('de el extremo inferior del intervalo aproximado: '))
x2=float(input('de el extremo superior del intervalo aproximado: '))
errordeseado=float(input('De el error deseado: '))
 

def f(x):
    return eval(ec)

 
while True:
    xmed=(x1+x2)/2
    fxmed=f(xmed)
    if fxmed==0.0:
        break
 
    if (f(x1)*f(xmed))<0:
        x1=x1
        x2=xmed
    else:
        x1=xmed
        x2=x2
    error=abs(x2-x1)
    if error<errordeseado:
        break
 

print ('La raíz es',xmed)
input(' ')
                                                Una muestra que el programa funciona.

if/elif/else en python 3

#una forma basica de explicar el if/elif/esle en python
#realizado en python 3.x
print('ecuacion de un gas ideal en python')
print('seleciona cual es la variable que deseas conocer')
print('Presion [1]\n')
print('Temperatura [2]\n')
print('Volumen [3]\n')
print('Moles [4]\n')

dato = int (input("Selecione una variable ejemplo 1: "))

if dato == 1:
    print('seleccionaste como incognita la Presion\n')
    n=float(input('numero de moles: '))
    r=float(input('Valor de la R de los gases: '))
    t=float(input('Temperatura: '))
    v=float(input('volumen:'))
    p =(n*r*t)/v
    print('la precion es',p)
        
elif dato == 2:
    print('seleccionaste como incognita la Temperatura')
    n=float(input('numero de moles: '))
    r=float(input('Valor de la R de los gases: '))
    p=float(input('Presion: '))
    v=float(input('volumen:'))
    t=(p*v)/(n*r)
    print('Temperatura es: ',t)
    
elif dato == 3:
    print('seleccionaste como incognita la Volumen')
    n=float(input('numero de moles: '))
    r=float(input('Valor de la R de los gases: '))
    t=float(input('Temperatura: '))
    p=float(input('Presio:'))
    v=(n*r*t)/p
    print('El volumen es: ',v)

elif dato == 4:
    print('seleccionaste como incognita la Moles')
    r=float(input('Valor de la R de los gases: '))
    t=float(input('Temperatura: '))
    p=float(input('Presion: '))
    v=float(input('Volumen: '))
    n=(p*v)/(r*t)
    print('El volumen es: ',n)
else:
    print('\n\n')
    
    print('No selecionaste correctamente \n')
    print('vuelve a Intentarlo =( \n ')


#para que  no se cierra la ventana en msdos
clic= input(' ') 
 
la aplicacion corriendo nos queda de la siguiente forma...
 

domingo, 15 de abril de 2012

Insertar Un Elemento en una Lista-- Python

  1. # Inserta el elemento en la i-esima posicion de la lista.
  2.  
  3. import random
  4.  
  5. def insertarElemento(lista, indice, elemento):
  6.     lista.insert(indice,elemento)
  7.  
  8. def imprimirLista(lista,nombre):
  9.     for i in range(0,len(lista)):
  10.         print nombre + "[" + str(i) + "]=" + str(lista[i])
  11.  
  12. def leerLista():
  13.     lista=[]
  14.  
  15.     i=0
  16.     while i < 10:
  17.         lista.append(int(random.randint(0, 10)))
  18.         i=i+1<+div>
  19.     return lista
  20.  
  21. A=leerLista()
  22. imprimirLista(A,"A")
  23. cn_val=int(raw_input("Ingrese Valor: "))
  24. cn_ind=int(raw_input("Ingrese Indice: "))
  25. insertarElemento(A,cn_ind,cn_val)
  26. imprimirLista(A,"A")

jueves, 5 de abril de 2012

Serie de Fibonacci. en C++

#include<iostream>
using namespace std;

int leedato()
{
    int n;
cin>>n;
return n;
}

void fibonacci()
{

int n,i=0,a=1,b=1,c=0;
    do
    {
    cout<<"Ingrese el numero de la cadena: ";
    n=leedato();
    }while(n<2);

cout<<a<<endl;cout<<b<<endl;
while(i<n-2)
    {
        c=a+b; 
        cout<<c<<endl;
        a=b; b=c;
        i++;
    }
}

int main()
{
    
fibonacci();    
    cin.ignore(); return 0;
}

calculando el numero menor usando funciones en C++

  1 int menor(int, int, int);
  2 #include<iostream>
  3 using namespace std;
  4 int main()
  5 {
  6     int a,b,c,m;
  7     cout<<"ingrese tres numeros\n";
  8     cin>>a>>b>>c;
  9     m=menor(a,b,c);
 10     cout<<"el menor es: "<<m<<endl;
 11     cin.ignore();return 0;
 12 }
 13 int menor(int a,int b,int c)
 14 {
 15     int m;
 16     if(a<b)
 17         if(a<c)
 18             m=a;
 19         else
 20             m=c;
 21     else
 22         if(b<c)
 23             m=b;
 24         else
 25             m=c;
 26 return m;
 27 }