Está en la página 1de 22

R1.

Escribir los comandos en Matlab para graficar la función f en el intervalo


 5,5

3  xe , x  2 
x

f (x)   
2  ln( x ), x  2
2

Los comandos para graficar la función son:

>> x=-5:0.0001:5;

>> y=(x<2).*(3+x.*exp(x))+(x>=2).*(2);

>> plot(x,y,'.')

La grafica de la función es:

R2. Escribir los comandos en Matlab para graficar la función f en el intervalo


 4, 4
3, x  2 
f ( x)   
 2  ( x  1) , x  2 
2

Los comandos para la función son:

>> x=-4:0.0001:4;
>> y=(x<2).*(3)+(x>=2).*(2-(x-1).^2);

>> plot(x,y,'.')

>>

La grafica para la función es:

R3. Graficar simultáneamente las siguientes funciones, tomar el intervalo más conveniente.

x2
f ( x)  , g ( x)  x ( x 2  1)
1 x 2

Antes de graficar tenemos que hallar el dominio resultante de ambas funciones:

x  f ( x)
 1  x 2  0  x 2  1  0  ( x  1)( x  1)  0
x  1,1
x  g ( x)
x    int er sec cion
x  1,1
Los comandos de las dos funciones son:
%grafica de la dos funciones
x=-1:0.0001:1;
y3=(x.^2)./(sqrt(1-x.^2));
y4=x.*(x.^2+1);
plot(x,y3,'r',x,y4,'g')
grid on;

la gráfica de ambas funciones son:

R4. Para la carga mostrada, determinar la fuerza en cada elemento de la armadura como una
función de a. graficar la fuerza en cada elemento, para a entre 40 y 240 pulgadas considerando
la fuerza de tensión como positivas y las fuerzas de compresión como negativas.
F x 0

AB  x  a 2  502 , BC  y  a 2  1602
 BAC   ,  BCA  
RXA  RXC  0  RXA  RXC

M A 0

25
RXC (210)  25(a )  0  RXC  a  RXA
210
25 25
AB.sen( )  RXA  AB  a 2  502  compresion  AB   a 2  502
210 210
25 25
BC.sen( )  RXC  BC  a 2  1602  compresion  BC   a 2  1602
210 210
 40  240
f (0.5) * f (0.25)  0.375 * 0.734375  f (0.5) * f (0.25)  0.275391  f (0.5) * f (0.25)  0
x3  ( x 2  x1) / 2  x3  (0.25  0.5) / 2  x3  0.75
1 0
*100%  100%
1
0.5  1
*100%  100%
0.5
0.5  0.25
*100%  50%
0.5
0.75  0.25
*100%  66.6667%
0.75
x  f ( x)
 1  x 2  0  x 2  1  0  ( x  1)( x  1)  0
x  1,1
x  g ( x)
x    int er sec cion
x  1,1
 2  4
9.8
v ( m)  m * (1  e  (15 m )*9 )  50
15
g ( x)  x
 x 2  1.8 x  2.5  0
x  ( x 2  2.5) / 1.8  g ( x)  g ( x)  1
 x 2  1.8 x  2.5  0
x  1.8 x  2.5    gx   g ( x)  1
25
AB   a 2  502
. por lo tanto tenemos que graficar las funciones de 210 y
25
BC   a 2  1602  40  240 .
210 donde la variable a esta en el intervalo de

Código en Matlab
%grafica de la estructura
x=40:0.0001:240;
y1=(-25.*sqrt(x.^2+2500))./210;
y2=(-25.*sqrt(x.^2+25600))./210;
plot(x,y1,'r',x,y2,'g')
grid on;

grafica

f ( x )  (0.8  0.3x)
R5. Determine la raíz real de x

Empleando el método de la falsa posición

Antes que nada como el método de la falsa posición es cerrado tenemos que seleccionar un
intervalo, para eso haremos consulta de la grafica.
Como se puede observar la raíz esta entre 2 y 4, por ende tomaremos el intervalo de
 2  4
Los resultados
Fx=input('Ingrese la funcion: ','s');
a=input('Ingrese a : ');
c=input('Ingrese c : ');
e=input('Ingrese el error : ');

x=a;
Fa=eval(Fx);
x=c;
Fc=eval(Fx);
fprintf('\n %6s %7s %8s %10s %8s %8s %8s \n
','A','B','C','F(a)','F(b)','F(c)','|c-a|');
while abs(c-a)>e
b=(c*Fa-a*Fc)/(Fa-Fc);
x=b;
Fb=eval(Fx);
fprintf('\n %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f
\n',a,b,c,Fa,Fb,Fc,abs(c-a));
if abs(Fc)<e
break;
else
if Fa*Fb<=0
c=b;
Fc=Fb;
else
a=b;
Fa=Fb;
end
end
end
fprintf('\nEl resultado sera %.4f',b);
ezplot(Fx);%graficamos la funcion
grid on;

la grafica y comandos:
R6. La velocidad v de un paracaídas que cae esta dad por:

gm
v (1  e ( c m ) t )
c

Donde g  9.8 m s . Para un paracaidista con coeficiente de arrastre de c  15 kg s , calcule


2

la masa m de modo que la velocidad sea v  35 m s en t  9 s . Utilice el método de la falsa


posición para determinar m a un nivel de error de 0.1%.

Analizando los datos anteriores se puede deducir una función representativa a:

9.8
v ( m)  m * (1  e  (15 m )*9 )  50
15
Lo siguiente es escoger un intervalo para lo cual haremos uso de una gráfica

Como podemos observar la raíz esta entre 100 y 120 por lo tanto ese será el intervalo:

Codigos en el configurador de Matlab


Fx=input('Ingrese la funcion: ','s');
a=input('Ingrese a : ');
c=input('Ingrese c : ');
e=input('Ingrese el error : ');

x=a;
Fa=eval(Fx);
x=c;
Fc=eval(Fx);
fprintf('\n %6s %7s %8s %10s %8s %8s %8s \n
','A','B','C','F(a)','F(b)','F(c)','|c-a|');
while abs(c-a)>e
b=(c*Fa-a*Fc)/(Fa-Fc);
x=b;
Fb=eval(Fx);
fprintf('\n %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f
\n',a,b,c,Fa,Fb,Fc,abs(c-a));
if abs(Fc)<e
break;
else
if Fa*Fb<=0
c=b;
Fc=Fb;
else
a=b;
Fa=Fb;
end
end
end
fprintf('\nEl resultado sera %.4f',b);
ezplot(Fx);%graficamos la funcion
grid on;

figura y comandos:
los resultados y su grafica

R7. Determine la raíz de la función: utilizando el método de la bisección con un error de


0.00001.

f ( x)  5 x3  5 x 2  6 x  2

Solución:

Graficando en un programa graficador para ver que intervalo usar.


Por lo tanto el intervalo a utilizar será
 0  1

Teorema de Bolzano f (a) * f (b)  0 ;

f (0) * f (1)  2 * 4  f (0) * f (1)  8  f (0) * f (1)  0

x1  (a  b) / 2  x1  (0  1) / 2  x1  0.5

f (0) * f (0.5)  2 * 0.375  f (0) * f (0.5)  0.75  f (0) * f (0.5)  0

x 2  (a  x1) / 2  x 2  (0  0.5) / 2  x 2  0.25

f (0.5) * f (0.25)  0.375 * 0.734375  f (0.5) * f (0.25)  0.275391  f (0.5) * f (0.25)  0

x3  ( x 2  x1) / 2  x3  (0.25  0.5) / 2  x3  0.75

Errores
1 0
*100%  100%
1
0.5  1
*100%  100%
0.5
0.5  0.25
*100%  50%
0.5
0.75  0.25
*100%  66.6667%
0.75

Código Matlab
%biseccion
function biseccion(f,a,b,to1)
f=inline(f);
n=ceil(log((b-a)/to1)/log(2));
fprintf('\n it. a b x
f(x)?x')
for i=1:n
x=(a+b)/2;
fprintf('%3.0f %10.10f %10.10f %10.10f %10.10f\n',i,a,b,x,f(x))
if f(a)*f(x)<0
b=x;
else
a=x;
end
end
fprintf('\n la aproxiacion de la raiz es: %3.10f \n\n',x)
ezplot (f)

resultados
R8. Determine una raíz de f ( x)   x  1.8 x  2.5 con el método de punto fijo, con un error
2

de 0.0005.

Calculemos

g ( x)  x
 x 2  1.8 x  2.5  0
x  ( x 2  2.5) / 1.8  g ( x )  g ( x )  1
 x 2  1.8 x  2.5  0
x  1.8 x  2.5    gx   g ( x)  1

Por lo tanto el que tomamos es


 1.8 x  2.5   gx  , y el x inicial es 0
Los códigos de Matlab
xf(1)=input('Ingrese el valor inicial: ');
tol=input('Ingrese el porcentaje de error: ');
syms x;
f=input('Ingrese la función f(x), despejada g(f(x)): ');

i=1;
ea(1)=100;
while abs(ea(i))>=tol,
xf(i+1) = subs(f,x,xf(i));
ea(i+1) = abs((xf(i+1)-xf(i))/xf(i+1))*100;
i=i+1;
end
fprintf('i xf(i) Error aprox (i) \n');
for j=1:i;
fprintf('%2d \t %11.7f \t %7.3f \n',j-1,xf(j),ea(j));
end

comandos y figura
R9. Localice la primera raíz positiva de f ( x )  sen( x)  cos(1  x )  1 donde x está en
2

radianes. Para localizar la raíz. Use el método de la secante con inicio en 1, con un error de
0.001%
fx(1)=input('Ingrese el intervalo inferior: ');
fx(2)=input('Ingrese el intervalo superior: ');
tol=input('Ingrese el porcentaje de error: ');
syms x;
f=input('Ingrese la funciòn: ');

f1=subs(f,x,fx(1));
f2=subs(f,x,fx(2));

ea(1)=100;

i=1;
j=2;

while abs(ea(i))>=tol
xf(j+1)=(xf(j-1)*f2-xf(j)*f1)/(f2-f1); f1=f2;
f2=subs(f,x,xf(j+1));
ea(i+1)=(xf(j+1)-xf(j))/xf(j+1)*100;
j=j+1;
i=i+1;
end

fprintf(' i xf(i) Error aprox (i) \n');


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

la figura y los comandos:


x
R10. Determine la raíz positiva de f ( x )  8sen( x)e  1 ¸con el método de newton raphson.
x0=input('Ingrese el valor inicial: ');
tol=input('Ingrese el porcentaje de error: ');
f=input('Ingrese la función: ');
i=1;
fx(i)=x0;

syms x;
f1=subs(f,x,fx(i));
z=diff(f);
d=subs(z,x,fx(i));

ea(1)=100;

while abs(ea(i))>=tol;
fx(i+1)=fx(i)-f1/d; f1=subs(f,x,fx(i+1)); d=subs(z,x,fx(i+1));
ea(i+1)=abs((fx(i+1)-fx(i))/fx(i+1)*100);
i=i+1;
end
fprintf('i fx(i) Error aprox (i) \n');
for j=1:i;
fprintf('%2d \t %11.7f \t %7.3f \n',j-1,fx(j),ea(j));
end

resultados

También podría gustarte