//MÉTODO DE BISECCIÓN
//Elaboró: Claudia Sánchez y Jaime Zaragoza
//Inst. Tec. Sup. del Oriente del Estado de
Hidalgo.
//ITESA
//--------------------------------------------------
clc
clear all
//Valores extremos del intervalo
a=1; b=2;
//Inicialización de valores
conta=0; //Contador de iteraciones
c=(b-a)/2; //Valor intermedio
//Ciclo Do While
while c>0.00001 do
x=a+(b-a)/2; //x=punto medio en [a,b]
y=x^3+4*x^2-10; //Función
if y<0 then //Condición
a=x;
else
b=x;
end
conta=conta+1; //Contador de iteraciones
c=(b-a)/2; //Nuevo valor intermedio
end
disp('MÉTODO
DE BISECCIÓN')
disp('-------------------')
disp(x,'x=')
disp(y,'y=')
disp(conta,'Iteraciones=')
____________________________________________________________________________
//Programa para el ordenamiento de números de mayor a menor
//Elaboró: Claudia Sánchez y Jaime Zaragoza
//---------------------------------------------------------------------------
clc //Limpiar pantalla.
//Vector con elementos aleatorios a ordenar de mayor a menor
a=round(100*rand(1,5));
//Rutina
for i=1:length(a);
for j=1:length(a)
if a(i)>a(j) then
temp(i)=a(i);
a(i)=a(j);
a(j)=temp(i);
end
end
end
//Despliegue en pantalla el vector "a" como vector columna
disp(a')
//Para ordenar de menor a mayor, se invierte el signo de desigualdad.
______________________________________________________________// MÉTODO DE EULER
// Borrelli, 2005. Ecuaciones Diferenciales
// Ejemplo 2.5.2. Página 152
// y'=y sen(3t), y(0)=1, 0<=t<=4.
//
// Elaboró: Ing. Claudia Sánchez y Jaime Zaragoza
//-------------------------------------------------
clc //Limpiar pantalla.
clf(0) //Limpiar figura gráfica anterior
//-------------------------------------------------
// INICIALIZACIÓN DE VALORES
h=0.2; //Tamaño del intervalo o escalón
N=4/h; //Límite superior del número de escalones
t0=0; //Tiempo inicial en t=0.
ti=t0; //Valor inicial de ti que se almacena a(i)
y0=1; //Condición inicial para y(t0)=y0
yi=y0; //Valor inicial de "yi" que se almacena en el vector b(i)
//-----------------------------------------------
for i=1:N; //Número de escalones
a(i)=ti; //Vector de valores de ti
ti=t0+i*h; //Tiempo ti
b(i)=yi; //Vector de valores de yi
yi=yi+h*yi*sin(3*ti); //Valores de yi
end
//-------------------------------------------------
c=[a,b]; //Matriz de resultados
disp(c) //Presentación de resultados
plot(a,b,"*-") //Gráfica con los vectores a y b
xgrid
xtitle("Metodo de Euler para y´=ysen(3t)","Tiempo t","y(t)")
g=gca();
g.title.font_size=5;
g.labels_font_size=4;
g.x_label.font_size=4;
g.y_label.font_size=4;
//-------------------------------------------------
// SOLUCIÓN VERDADERA
x=0:0.1:4;
y=%e^((1-cos(3*x))/3);
plot(x,y) //Gráfica de la función verdadera
No hay comentarios:
Publicar un comentario