Académique Documents
Professionnel Documents
Culture Documents
Para desarrollar cabalmente este proyecto se integro un equipo de tres integrantes que
con disposicin y entrega se reuni varias veces para trabajar sobre el mismo y
desarrollar los programas para los distintos paquetes ya mencionados y resolver los
problemas que se nos fueron encomendados.
A la conclusin que llegamos los miembros de este equipo fue que el resultado de este
proyecto fue satisfactorio ya que sirvi para el desarrollo de las habilidades de la
programacin de los integrantes del equipo poniendo en prctica los conocimientos
obtenidos en las aulas de clase y laboratorio de la institucin educativa a la cual
pertenecemos, tambin contribuy al cumplimiento del objetivo principal de este
proyecto y del curso en general que es que el alumnos maneje la computadora para la
solucin de problemas dentro de la ingeniera.
OBJETIVOS
Desarrollar las habilidades para manejar los paquetes de Excel, Matlab y Visual
Basic, aprendiendo su uso en general y el modo de operacin de sus funciones
inter-construidas.
Dar solucin a los problemas planteados por el profesor con ayuda de los
programas de computadora que ya mencionamos y mediante los algoritmos
apropiados.
Al trmino de este proyecto cada uno de los integrantes del equipo manejara
satisfactoriamente los paquetes de Excel, Matlab y Visual Basic, los cuales le
aportaran las herramientas necesarias para resolver diversos problemas que se le
presenten a lo largo de su trayectoria como estudiante y en su vida profesional
de una manera mas rpida y correctas, con el menor ndice de error.
Los alumnos integrantes del equipo tendr las habilidades y capacidades para
poder ejecutar cualquier programa que se le proponga o se requiera para
desarrollar su vida laboral idneamente de acuerdo con los estndares de
calidad que nos exige nuestra institucin educativa.
TEORA Y METODOS
METODO DE CARDANO.
Este mtodo para localizacin de races tiene las restricciones de que solo se puede
aplicar a los ecuaciones que sean cbicas, adems el coeficiente de la X3 debe ser
siempre igual a la unidad, y de no ser as, se debe dividir toda la ecuacin entre el
coeficiente de la X3 para cumplir este requisito.
Una vez que se hayan cumplido las condicionantes ya mencionadas se debe tener la
ecuacin en forma polinmica, de tal manera que se parezca al modelo
f{x}= a3x3+a2x2+a1x+a0 = 0
obtendremos el trmino:
d = t 3 + u2
Para determinar las races de la ecuacin cbica, sea cual sea el caso que se nos presente
de los antes mencionados se utilizan las siguientes formulas:
S1 = (u + d1/2)1/3 S2 = (u d1/2)1/3
La manera de comprobar las raices que nos resulten de la ecuacin cubica es mediante
las relaciones que se muestran a continuacin.
x1x2x3 = -a0
x1 + x2 + x3 = -a2
MTODO DE SUBSTITUCIONES SUCESIVAS.
Una vez que tengamos nuestra ecuacin de la forma x = g{x} se procede a suponer un
valor inicial para la x, al cual llamamos x supuesta, y este valor lo evaluamos en la
funcion g{x}, el valor resultante es el valor de la xcalculada, si x supuesta y x calculada no
concuerdan dentro de una tolerancia establecida, tal que se cumpla la condicion
X calculada X supuesta
<=
X supuesta
Se repite el mtodo pero ahora se utiliza x calculada como valor supuesto, se repite tantas
veces sea necesario hasta que se cumpla el criterio de convergencia establecido.
Para encontrar los dos puntos dentro de la funcin g {x} que nos servirn para generar
la lnea recta se utilizan de nuevo valores supuestos y calculados mediante el
siguiente procedimiento.
m = y2 y1
x2 x1
X3 = x1y2 x2y1
x1 x2 y1 + y2
x3 x2 <=
x2
Si se cumpli el criterio de convergencia , se ha encontrado la raiz, de no ser as se
realiza la siguiente iteracin. Para sta desaparece el punto 1, el punto 2, se convierte
en punto 1; y el punto 3 se convierte en el punto 2:
Este mtodo de la biseccin consisten ubicar una raz de que est dentro de un rango de
valores [a, b] que le asignamos a la variable independiente. Para que ste mtodo
resulte satisfactorio debemos saber que existe una raz dentro del rango de valores que
estamos asignando. Lo que se realiza grficamente en la aplicacin de este mtodo es
que como tenemos dos extremos, calculamos la media de los dos valores y este nuevo
valor debe estar mas cerca de la raz buscada, de no ser as se va refinando la bsqueda
hasta que encontremos la raz o nos acerquemos a ella con cierta presicin.
A los extremos del intervalo [a, b] se les designa el nombre de limite izquierdo (x izq)
para la a y limite derecho (x der) para la b, tambin denominaremos yizq a la evaluacin
de f {x izq} y yder a la evaluacin de f {x der}. Para saber si dentro de este rango de
valores est una raz lo que debemos hacer es evaluar en la funcin f {x} los valores de
x izq y de x der , si obtenemos que las evaluaciones resultan de signo contrario estamos
seguros de que dentro de este rango esta localizada una raz.
Para localizar el valor que se encuentra a la mitad del intervalo, al que llamaremos
x med , utilizaremos el simple calculo de sumar los dos valores y dividirlos entre dos:
En sntesis los valores de Xmed y Ymed se van a sustituir por los valores extremos de X y
Y por los cuales coincida el signo de Ymed y Y, para realizar los siguientes clculos hasta
lograr que se cumpla el criterio de convergencia.
Posteriormente los dos puntos se unen mediante una lnea recta que intersecta al eje
de la abscisas, a este punto le llamaremos x3, esta interseccin constituye una
posicin mas cercana a la raz buscada.
Partiendo del criterio de que triangulos semejantes tienen ambos la misma pendiente m,
m = y1 y2 = y1 0 = Pendiente
x1 x2 x1 x3
reacomodando la ecuacin y despejando la x3, que es la que nos interesa, nos queda la
ecuacin de la siguiente manera
F{x} <=E
Lo anterior se realiza tantas veces sea necesario hasta que se cumpla el criterio de
convergencia.
MTODO DE NEWTON-RAPHSON
El mtodo de Newton-Raphson es muy til y sencillo de utilizar, solo que se tiene que
tener presente la definicin de la derivada de una funcin, la cual es la pendiente de la
recta tangente a un punto en la curva, tambin se tienen que tener presentes las reglas
de derivacin ya que se van a ocupar, tanto para el desarrollo del mtodo como para
entender el fundamento terico del mismo.
La manera de entender como funciona el mtodo es muy sencilla, solo se tiene que tener
la ecuacin escrita en funcin de la variable independiente como f{x}= 0. Se traza la
grafica de f{x} contra x y se obtiene la curva que cruza por eje de las abscisas, siendo
esta la raz de la ecuacin.
Se elige un valor inicial para x a la cual llamaremos (Xsup) y se calcula fsup =f{xsup},
despus se dibuja una lnea tangente a la curva en el punto (xsup, fsup) y se emplea la
interseccin de esta lnea con el eje de las abscisas como la siguiente estimacin (xcal).
Los valores sucesivos de x generados de este modo (x2, x3, x4) pueden converger
sobre la raz buscada.
La formula para cada estimacin (xcal) en trminos de la estimacin previa (xsup) puede
obtenerse de la siguiente manera. La pendiente de la tangente es f= (df/dx). Sin
embargo, dos puntos conocidos sobre esta lnea son (xcal, 0) y (xsup, fsup), de modo que
la pendiente tambin es igual a (y2 y1)/(x2-x1), que en este caso sera
(0 fsup)/(xcalc xsup). Igualando estas dos expresiones para la pendiente se obtiene
fsup = -fsup
xcal - xsup
x3 = x2 f{x2) = x2 - f{x2} = x2 - y2
f{x2} f{x2} f{x1} y2 y1
x2 x1 x2 x1
x3 = x2 - y2 (x2-x1)
y2 y1
El punto x3 es el que nos interesa encontrar ya que es el que representa una posicin ms
cercana a la raz buscada, una vez encontrado este punto a travs de las ecuaciones
plasmadas se verifica si se cumple el criterio de convergencia, en este caso puede ser
cualquiera de los dos que se muestran a continuacin
x3 x2 <=
x2
x1 x2 y1 y2
x2 x3 y2 y3
Esta es la parte que difiere del mtodo de la falsa posicin, la forma de recorrer los
limites. Una vez que se tienen los nuevos puntos 1 y 2 se repite el proceso tantas veces
sea necesario hasta que se cumpla el criterio de convergencia.
MTODO DE CARDANO
function z=CARDANO(a)
if length(a)~=4
error('faltan (o sobran) coeficientes de la ecuacion cubica')
z=NaN;
return
end
i=sqrt(-1);
a3=a(1); a2=a(2); a1=a(3); a0=a(4);
if a3~=0
a0=a0/a3; a1=a1/a3; a2=a2/a3; a3=1;
end
t=a1/3-a2^2/9; u=(a1*a2-3*a0)/6-a2^3/27;
d=t^3+u^2; if abs(d)<1e-16, d=0; end
if(u+sqrt(d)<0) & (d>=0)
s1=-abs((u+sqrt(d)))^(1/3);
else
s1=(u+sqrt(d))^(1/3);
end
if(u-sqrt(d)<0)&(d>=0)
s2=-abs((u-sqrt(d)))^(1/3);
else
s2=(u-sqrt(d))^(1/3);
end
if d>0
disp('una raiz real y dos complejas conjugadas')
elseif d<0
disp('todas las raices son reales y diferentes')
else
disp('raices reales y al menos dos son iguales')
end
z(1)=(s1+s2)-a2/3;
z(2)=-(s1+s2)/2-a2/3+i*sqrt(3)/2*(s1-s2);
z(3)=-(s1+s2)/2-a2/3-i*sqrt(3)/2*(s1-s2);
Z=sort(z)';
MTODO DE WEGSTEIN
function root=wegstein(f, xsup)
epsilon=1e-5;
Nmax=550;
x1=xsup;
y1 = feval(f, x1);
x2=y1;
iter=1; convergio=(1==0);
while (iter<=Nmax) & (~convergio)
y2 = feval(f, x2);
x3=((x1*y2)-(x2*y1))/(x1-x2-y1+y2);
convergio=(abs((x3-x2)/x2)<epsilon);
if ~convergio
iter=iter+1;
x1=x2;
y1=y2;
x2=x3;
end
end % while
if convergio
root=x3;
fprintf ('\n%svalor de la raiz es =%10.6g en %g iteraciones\n',blanks(7),root,iter)
else
root=NaN;
fprintf ('el metodo no convergio despues de %g iteraciones\n',Nmax)
end
MTODO DE BISECCIN
function root =bisec(f, xizq, xder)
epsilon = 1e-5;
Nmax = 50;
yizq = feval(f, xizq); yder = feval(f,xder);
if xizq >= xder
error('El limite izquierdo es mayor que el derecho "%g > %g". Stop!', xizq, xder)
root = NaN;
return
end
if(yder * yizq > 0)
error('Las funciones en los extermos tienen el mismo signo: f(%g)=%g; f(%g)=%g
Stop!', xizq, yizq, xder, yder)
root =NaN;
return
end
iter = 1; convergio = (1==0)
while (iter <= Nmax)& (~convergio)
xmed = (xizq + xder)/2; ymed = feval (f, xmed);
convergio = (abs(ymed)<epsilon) | ((xder-xizq)/2 < epsilon);
if ~convergio
iter = iter + 1;
if yizq*ymed > 0
xizq = xmed; yizq = ymed;
else
xder = xmed; yder = ymed;
end
end
end
if convergio
root = (xizq + xder)/2;
fprintf('\n%sValor de la raiz = %10.6g en %g iteraciones \n', blanks(7), root, iter)
else
root = NaN;
fprintf('El metodo no convergio despues de %g iteraciones\n', Nmax)
end
MTODO DE LA SECANTE
function root=secante(f,xizq,xder)
epsilon=1e-5;
Nmax=150;
x1=xizq;
x2=xder;
y1 = feval(f, x1); y2 = feval(f, x2);
if x1>=x2
error('el limite izquierdo es mayor que el derecho " %g > %g". Stop!',x1,x2)
root=NaN
return
end
if(y1 * y2 > 0)
error('Las funciones en los extermos tienen el mismo signo: f(%g)=%g; f(%g)=%g
Stop!', x1, y1, x2, y2)
root =NaN;
return
end
iter=1; convergio=(1==0);
while (iter<=Nmax) & (~convergio)
x3=x1-y1*((x2-x1)/(y2-y1)); y3=feval(f, x3);
convergio=(abs(y3) < epsilon);
if ~convergio
iter=iter+1;
x1=x2; y1=y2;
x2=x3; y2=y3;
end
end % while
if convergio
root=x3;
fprintf ('\n%svalor de la raiz es =%10.6g en %g iteraciones\n',blanks(7),root,iter)
else
root=NaN;
fprintf ('el metodo no convergio despues de %g iteraciones\n',Nmax)
end
PROBLEMA No. 1
2.11
Una caja abierta ser construida de un pedazo rectangular de cartn
de tamao 30" x 50". Si cuatro pedazos cuadrados sern cortados de
las esquinas del cartn para obtener una altura de x", determine el
valor de x que da una caja de volumen 3000 in3.
3000= (30-2x)(50-2x)(x)
4x3-160x2+1500x-3000=0
x3-40x2+375x-750=0
CARDANO
>> a=[1,-40,375,-750];
>> x=cardano(a)
todas las raices son reales y diferentes
x=
>> cubic1(x)
ans =
1.0e-012 *
0 0.6821 0
function ans=cubic1(x)
ans=x.^3-40*x.^2+375*x-750;
function ans=cubic1a(x)
ans=((-x.^3)./375)+(40/375)*x.^2+2;
function ans=cubic1b(x)
ans=sqrt((1/40)*x.^3+(375/40)*x-(750/40));
SUSTITUCIN SUCESIVA
>> x=susu('cubic1a',1)
x=
2.7525
>> cubic1(x)
ans =
-0.0032
>> x=susu('cubic1a',11)
x=
27.2474
>> cubic1(x)
ans =
-0.0030
>> x=susu('cubic1b',8)
x=
9.9995
>> cubic1(x)
ans =
0.0601
WEGSTEIN
>> x=wegstein('cubic1a',1)
x=
2.7526
>> cubic1(x)
ans =
-1.4554e-008
>> x=wegstein('cubic1a',8)
x=
10.0000
>> cubic1(x)
ans =
7.9872e-009
>> x=wegstein('cubic1a',23)
x=
27.2474
>> cubic1(x)
ans =
-4.4311e-005
BISECCIN
>> x=bisec('cubic1',1,3)
convergio =
0
Valor de la raiz = 2.75256 en 18 iteraciones
x=
2.7526
>> cubic1(x)
ans =
8.0971e-004
>> x=bisec('cubic1',8,11)
convergio =
0
Valor de la raiz = 10 en 19 iteraciones
x=
10.0000
>> cubic1(x)
ans =
2.3842e-004
>> x=bisec('cubic1',25,28)
convergio =
0
Valor de la raiz = 27.2475 en 19 iteraciones
x=
27.2475
>> cubic1(x)
ans =
0.0021
REGULA FALSI
>> x=falsa('cubic1',1,3)
x=
2.7526
>> cubic1(x)
ans =
2.5285e-006
>> x=falsa('cubic1',8,11)
x=
10.0000
>> cubic1(x)
ans =
2.3407e-006
>> x=falsa('cubic1',25,28)
x=
27.2474
>> cubic1(x)
ans =
-9.7299e-006
NEWTON-RAPHSON
>> x=newton_r('cubic1',1)
x=
2.7526
>> cubic1(x)
ans =
1.1369e-013
>> x=newton_r('cubic1',8)
x=
10.0000
>> cubic1(x)
ans =
4.5475e-013
>> x=newton_r('cubic1',23)
x=
27.2474
>> cubic1(x)
ans =
2.9104e-011
SECANTE
>> x=secante('cubic1',1,3)
x=
2.7526
>> cubic1(x)
ans =
3.1121e-006
>> x=secante('cubic1',8,11)
x=
10.0000
>> cubic1(x)
ans =
5.4570e-010
>> x=secante('cubic1',25,28)
x=
27.2474
>> cubic1(x)
ans =
-3.4397e-009
ROOTS
>> a=[1,-40,375,-750];
>> raiz=roots(a)
raiz =
27.2474
10.0000
2.7526
>> polyval(a,raiz)
ans =
1.0e-011 *
-0.6366
-0.0341
-0.0114
FZERO
>> raiz=fzero('x.^3-40*x.^2+375*x-750',1)
raiz =
2.7526
>> raiz=fzero('x.^3-40*x.^2+375*x-750',8)
raiz =
10
>> raiz=fzero('x.^3-40*x.^2+375*x-750',23)
raiz =
27.2474
FSOLVE
raiz=fsolve('x.^3-40*x.^2+375*x-750',1)
Optimization terminated: first-order optimality is less than options.TolFun.
raiz =
2.7526
>> raiz=fsolve('x.^3-40*x.^2+375*x-750',8)
Optimization terminated: first-order optimality is less than options.TolFun.
raiz =
10.0000
>> raiz=fsolve('x.^3-40*x.^2+375*x-750',22)
Optimization terminated: first-order optimality is less than options.TolFun.
raiz =
27.2474
PROBLEMA No. 2
2.12
Las frecuencias naturales de 3 grado de libertad del sistema resorte-
masa, se da por la ecuacin
3 - 52 + 6 1 = 0
Donde = m2 , m es la masa, es la frecuencia natural, y k es la
K
rigidez del resorte. Encuentra las races de la ecuacin.
CARDANO
>> a=[1,-5,6,-1];
>> x=cardano(a)
x=
>> cubica2(x)
ans =
1.0e-014 *
0 0.1776 -0.1776
function ans=cubica2(x)
ans=x.^3-5*x.^2+6*x-1;
function ans=cubica2a(x)
ans=((-x.^3)./6)+(5/6)*x.^2+(1/6);
function ans=cubica2b(x)
ans=sqrt((1/5)*x.^3+(6/5)*x-(1/5));
SUSTITUCIN SUCESIVA
>> x=susu('cubica2a',1)
x=
0.1981
>> cubica2(x)
ans =
2.3213e-006
>> x=susu('cubica2a',2)
x=
3.2470
>> cubica2(x)
ans =
-1.0525e-005
>> x=susu('cubica2b',1.3)
x=
1.5549
>> cubica2(x)
ans =
1.7632e-004
WEGSTEIN
>> x=wegstein('cubica2a',0.5)
x=
0.1981
>> cubica2(x)
ans =
7.6028e-013
>> x=wegstein('cubica2a',1)
x=
1.5550
>> cubica2(x)
ans =
1.8762e-011
>> x=wegstein('cubica2a',4)
x=
3.2470
>> cubica2(x)
ans =
-2.1111e-010
BISECCIN
>> x=bisec('cubica2',-0.5,0.5)
convergio =
0
Valor de la raiz = 0.198067 en 17 iteraciones
x=
0.1981
>> cubica2(x)
ans =
1.8398e-005
>> x=bisec('cubica2',1,2)
convergio =
0
Valor de la raiz = 1.55496 en 15 iteraciones
x=
1.5550
>> cubica2(x)
ans =
-9.2436e-006
>> x=bisec('cubica2',3,4)
convergio =
0
Valor de la raiz = 3.24698 en 15 iteraciones
x=
3.2470
>> cubica2(x)
ans =
-4.3538e-006
REGULA FALSI
>> x=falsa('cubica2',-0.5,0.5)
x=
0.1981
>> cubica2(x)
ans =
7.4281e-006
>> x=falsa('cubica2',1,2)
x=
1.5550
>> cubica2(x)
ans =
1.1235e-009
>> x=falsa('cubica2',3,4)
x=
3.2470
>> cubica2(x)
ans =
-8.2615e-006
NEWTON-RAPHSON
>> x=newton_r('cubica2',0.5)
x=
0.1981
>> cubica2(x)
ans =
-2.6212e-013
>> x=newton_r('cubica2',1)
x=
1.5550
>> cubica2(x)
ans =
-1.9540e-014
>> x=newton_r('cubica2',4)
x=
3.2470
>> cubica2(x)
ans =
3.9442e-011
SECANTE
>> x=secante('cubica2',-0.5,0.5)
x=
0.1981
>> cubica2(x)
ans =
1.3462e-007
>> x=secante('cubica2',1,2)
x=
1.5550
>> cubica2(x)
ans =
1.1235e-009
>> x=secante('cubica2',3,4)
x=
3.2470
>> cubica2(x)
ans =
5.0530e-009
ROOTS
>> a=[1,-5,6,-1];
>> x= roots(a)
x=
3.2470
1.5550
0.1981
>> polyval(a,x)
ans =
1.0e-014 *
-0.7550
-0.0888
0
FZERO
>> x=fzero('x.^3-5*x.^2+6*x-1',1)
x=
1.5550
>> x=fzero('x.^3-5*x.^2+6*x-1',4)
x=
3.2470
>> x=fzero('x.^3-5*x.^2+6*x-1',0.5)
x=
0.1981
FSOLVE
>> x=fsolve('x.^3-5*x.^2+6*x-1',0.5)
Optimization terminated: first-order optimality is less than options.TolFun.
x=
0.1981
>> x=fsolve('x.^3-5*x.^2+6*x-1',1)
Optimization terminated: first-order optimality is less than options.TolFun.
x=
1.5550
>> x=fsolve('x.^3-5*x.^2+6*x-1',4)
Optimization terminated: first-order optimality is less than options.TolFun.
x=
3.2470
PROBLEMA No. 3
2.15
La velocidad de un fluido no Newtoniano que fluye en un tubo redondo
(u) puede expresarse como
n+1/n
U = 3n + 1 1- r
umean n+1 R
function ans=funbu(x)
ans=((3*x+1)/(x+1))*(1-(0.8)^((x+1)/x))-0.9;
function ans=funbua(x)
ans=((3*x+1)/(0.9))*(1-(0.8)^((x+1)/x))-1;
SUSTITUCIN SUCESIVA
>> x=susu('funbua',0.5)
x=
0.3092
>> funbu(x)
ans =
-3.1519e-008
WEGSTEIN
>> x=wegstein('funbua',0.5)
valor de la raiz es = 0.309162 en 5 iteraciones
x=
0.3092
>> funbu(x)
ans =
-3.9102e-013
BISECCIN
>> x=bisec('funbu',0.1,0.5)
convergio =
x=
0.3092
>> funbu(x)
ans =
4.3882e-006
REGULA FALSI
>> x=falsa('funbu',0.1,0.5)
valor de la raiz es = 0.309171 en 8 iteraciones
x=
0.3092
>> funbu(x)
ans =
-5.3175e-006
NEWTON-RAPHSON
>> x=newton_r('funbu',0.5)
x=
0.3092
>> funbu(x)
ans =
-4.9738e-014
SECANTE
>> x=secante('funbu',0.1,0.5)
valor de la raiz es = 0.309162 en 5 iteraciones
x=
0.3092
>> funbu(x)
ans =
3.4230e-007
FZERO
>> x=fzero('((3*x+1)/(x+1))*(1-(0.8)^((x+1)/x))-0.9',0.5)
x=
0.3092
>> funbu(x)
ans =
FSOLVE
>> x=fsolve('((3*x+1)/(x+1))*(1-(0.8)^((x+1)/x))-0.9',0.5)
Optimization terminated: first-order optimality is less than options.TolFun.
x=
0.3092
>> funbu(x)
ans =
2.8047e-008
PROBLEMA No. 4
2.17
El coeficiente de descarga (C) de un orificio se define como
y se da por[2.4]
=d
D
Y Re indica el numero de Reynodls. Encuentra el valor de que rinda
un coeficiente de descarga de C= 0.5959 y un numero de reynoldls de
Re=104.
function ans=fun4(x)
ans=-0.184*x.^8+0.09171*x.^2.5+0.0312*x.^2.1;
function ans=fun4a(x)
ans=(2*x.^8-0.3402*x.^2.1)^(1/2.5);
function ans=fun4b(x)
ans=(0.4984*x.^2.5+0.1695*x.^2.1)^(1/8);
SUSTITUCIN SUCESIVA
>> x=susu('fun4b',0.8)
x=
0.9305
>> fun4(x)
ans =
1.5687e-005
WEGSTEIN
>> x=wegstein('fun4b',1)
valor de la raiz es = 0.930493 en 3 iteraciones
x=
0.9305
>> fun4(x)
ans =
1.3990e-005
BISECCIN
>> x=bisec('fun4',0.5,1)
convergio =
x=
0.9305
>> fun4(x)
ans =
2.4010e-006
REGULA FALSI
>> x=falsa('fun4',0.5,1)
valor de la raiz es = 0.930501 en 10 iteraciones
x=
0.9305
>> fun4(x)
ans =
8.7241e-006
NEWTON-RAPHSON
>> x=newton_r('fun4',1)
x=
0.9305
>> fun4(x)
ans =
-1.8249e-015
SECANTE
>> x=secante('fun4',0.1,1)
x=
0.0136
>> fun4(x)
ans =
5.7026e-006
FZERO
>> x=fzero('-0.184*x.^8+0.09171*x.^2.5+0.0312*x.^2.1',1)
x=
0.9305
>> fun4(x)
ans =
-9.3675e-017
FSOLVE
>> x=fsolve('-0.184*x.^8+0.09171*x.^2.5+0.0312*x.^2.1',1)
Optimization terminated: first-order optimality is less than options.TolFun.
x=
0.9305
>> fun4(x)
ans =
-3.2327e-010
PROBLEMA No. 5
2.35
Cuando los flujos de agua pasan a travs de una seccin de cauce
trapezoidal, el rea de cruce-seccional del fluido (A) y el permetro del
fluido (P) est relacionado como
P = A - Yn cot + 2Yn
Yn sin
Encuentra el valor de para P= 3m, cuando A= 1m2 y Yn = 0.5m con
10 y 60 como aproximaciones iniciales para y =0.001.
function ans=fun5(x)
ans=1/sin(x)-0.5*cot(x)-1;
function ans=fun5a(x)
ans=asin(1/(1+0.5*cot(x)));
SUSTITUCIN SUCESIVA
>> x=susu('fun5a',10)
x=
0.6435
>> fun5(x)
ans =
7.9427e-006
>> x=susu('fun5a',60)
x=
0.6435
>> fun5(x)
ans =
8.3545e-006
WEGSTEIN
>> x=wegstein('fun5a',10)
valor de la raiz es = 0.643501 en 5 iteraciones
x=
0.6435
>> fun5(x)
ans =
2.7929e-012
>> x=wegstein('fun5a',60)
x=
0.6435
>> fun5(x)
ans =
9.5555e-012
BISECCIN
>> x=bisec('fun5',12,15)
convergio =
x=
14.1372
>> fun5(x)
ans =
-2.8431e-006
>> x=bisec('fun5',60,63)
convergio =
x=
62.8319
>> fun5(x)
ans =
1.0847e+005
REGULA FALSI
>> x=falsa('fun5',12,15)
valor de la raiz es = 14.1372 en 21 iteraciones
x=
14.1372
>> fun5(x)
ans =
-6.3647e-006
NEWTON-RAPHSON
>> x=newton_r('fun5',10)
x=
14.1372
>> fun5(x)
ans =
2.2509e-010
>> x=newton_r('fun5',60)
x=
-37.0556
>> fun5(x)
ans =
2.1574e-008
SECANTE
>> x=secante('fun5',10,15)
valor de la raiz es = 14.1372 en 7 iteraciones
x=
14.1372
>> fun5(x)
ans =
-1.6365e-007
>> x=secante('fun5',60,63)
x=
63.4754
>> fun5(x)
ans =
-1.4312e-006
FZERO
>> x=fzero('1/sin(x)-0.5*cot(x)-1',10)
x=
9.4248
>> fun5(x)
ans =
-2.2262e+014
>> x=fzero('1/sin(x)-0.5*cot(x)-1',60)
x=
59.6903
>> fun5(x)
ans =
-5.0594e+013
FSOLVE
>> x=fsolve('1/sin(x)-0.5*cot(x)-1',14)
Optimization terminated: first-order optimality is less than options.TolFun.
x=
14.1372
>> x=fsolve('1/sin(x)-0.5*cot(x)-1',65)
Optimization terminated: first-order optimality is less than options.TolFun.
x=
64.4026