Está en la página 1de 13

UNIVERSIDAD CATOLICA DE SANTA

MARIA

FACULTAD : ARQUITECTURA E INGENIRIAS CIVIL Y DEL


AMBIENTE

PROGRAMA PROFESIONAL : INGENIERIA CIVIL

ASIGNATURA : METODOS NUMERICOS

GRUPO :

INTEGRANTE : DAVID HENRY CONDORI MAMANI

AREQUIPA 2014
PRIMERA PRCTICA
9.
x=pi/4
y=exp(1)
z=2.31
w=((log(x)^2+sqrt(1+y^3))/1-sin(x))+((y)*(z))

12.
x=30
y=exp(1)
z=4/7
w=((y^3)/(y+z^2))-((log(y)^2)^2/3)/sin(x)+(sqrt(1+z)/(z+y))

19.
x=input('x=')
y=input('y=')
z=input('z=');
w= (2-sin(z))/(log(y^2+x)^2)

X Y Z W
2.24 2 30 0.5434
3.56 e 45 0.2619
-4.56 60 0.4172

25.
%el dominio de F:-2<x=<=2%
x=(-2:0.01:2)
w= sqrt(4-x.^2)/(x.^2+1)
plot(x,w),grid

27.
%el dominio de F:-1<=x<=1%
x=(-1:0.01:1)
w=(sqrt(2-x^2))/(x-3)
plot(x,w),grid
35.
x=linspace(-5,2,100);
y=3+x.*exp(-x);
x0=linspace(2,5,500);
y0=2;
plot(x,y,'r',x0,y0,'b')
axis([-5 5 -5 5])

37.
function y=grafico3(z)
x=[-z:0.02:z];
f=(x.^2)/sqrt(1-x.^2);
g=x.*(x.^2)+1;
plot(f,x,'r-',g,x,'b-'),grid
end
SEGUNDA PRCTICA

1. Si:
| + 2| < 1
+1+1 1 3
() =
2
{ 6 3 >3
Escribir la funcin y los comandos en matlab que sirvan para
calcular la siguiente expresin, mostrando el resultado con 8
decimales

(2 + 3) + (3 )
=
( + 3) ( )
function y=funcion(x)
e=exp(1);
if x<-1
x=((-2*pi+3+2)+(e*(pi/3)+2))/((pi+3+2)*(pi-e)+2)
end
if -1<=x<=3

x=((sqrt(2*pi+3+1)+1)+(e*sqrt((pi/3)+1)+1))/((sqrt(pi+3+1)+1)
*sqrt(pi-e+1)+1)
end
if x>3
x=((6-
(2*pi+3)^2/2)+(e*((6+(pi/3)+2)/3)^2))/((6+((pi+3)^2)/3)*(6+(p
i-e)^2/3))
end
end

4. Dada la siguiente funcin


s=0

function s=sas()
f=input('f= ')
while ~rem(f,2)
s=s+f;
f=input('f= ')
end
end
Qu retorna si se ingresan los valores 4 8 10 1 3 5?

El programa termina cuando se ingresa un nmero impar, y


almacenando en la variable s la suma de los pares ingresados.

5. Hacer un seguimiento paso a paso de la ejecucin de la


funcin:

function y=prob2(a,b)
while rem(a,b)~=0
t = a;
a = b;
b = rem(a, b);
end
y=b

no hace nada, genera un bucle infinito


6. dada la siguiente funcin:
function r=aSum(s)
t=length(s);
r=0;
for i=1:t
t=10*r+s(j)-'0';
end

Qu valor retorna?

NO HACE NADA POR QUE LA VARIABLE "J" NUNCA FUE DECLARADA

9. Hacer un seguimiento paso a paso a la siguiente funcin,


cuando se la llama con:
bis(1,2,001)
Complete la tabla (usar 8 decimales de precisin)
function r=bis(a,,b,error)
while abs(b-a)/2>error
m=(a+b)/2;
if(a-log(a+4))*(m-log(m+4))<0
b=m;
else
a=m;
end
end
r=m;
bis(1,2,0.01)
a b m fun(a)*fun(m) (b-a)/2
1.00000000 2.00000000 1.50000000 0.12478125 0.50000000
1.50000000 2.00000000 1.75000000 -0.00016383 0.25000000
1.50000000 1.75000000 1.62500000 0.02092954 0.12500000
1.62500000 1.75000000 1.68750000 0.00518984 0.06250000
1.68750000 1.75000000 1.71875000 0.00126928 0.03125000
1.71875000 1.75000000 1.73437500 0.00030260 0.01562500
1.73437500 1.75000000 1.74218750 0.00006842 0.00781250
1.74218750 1.75000000 1.74609375 0.00001372 0.00390625
1.74609375 1.75000000 1.74804688 0.00000197 0.00195313
ans=1.7480

12. Escribir una funcin que determine el mximo valor n para el


cual la suma S, no sea mayor o igual a un valor tope dado:
1 1 1 1
= 1 + + + + +
2 3 4
function n = max(x)
s=0; i=0;
while(s<=x)
i=i+1;
s=s+1/i;
end
n=i-1;
end
13.Escribir una funcin que tome dos arreglos del mismo tamao A
y B. Sume el primer elemento de A con el ltimo de B, el
segundo de A con el penltimo de B, y as sucesivamente.
function C = suminv(A,B)

n=length(A);

m=length(B);

if(n~=m)

disp('Los vectores tienen que ser del mismo tamao')

else
for i=1:n

C(i)=A(i)+B(n-i+1);
end

end

end

>> x=[2 4 6]
x =
2 4 6

>> y=[6 4 2]
y =
6 4 2

>> suminv(x,y)

ans =

4 8 12

14. Determinar el valor al cual converge la sumatoria:



3 2


2 3
=1
s=0;
for i=1:9999
s=s+(3/2^i)-(2/3^i);
end
disp(s)

>> sumatoria
2.0000
La sumatoria converge a 2.
17. Escribir una funcin CtaDig(num), que reciba un nmero
entero positivo y retorne cuantos dgitos tiene, as
CtaDig(416) debe retornar 3, pues el numero 416 tiene 3
dgitos que son 4, 1, 6.
function c = CtaDig(num)
c=0;
while(n)
c=c+1;
x(c)=rem(n,10); %almacena el ultimo digito en un arreglo%
num =floor(n/10); %elimina el ultimo digito%
end
x=x(length(x):-1:1); %invierte el arreglo%
disp(x);
end

>> CtaDig(416)
4 1 6
ans =
3

>> CtaDig(11)
1 1
ans =
2
18. Escribir un programa que reciba nmeros enteros positivos
por teclado y determine cuantos son mayores que 10. El nmero
cero ser el indicador del fin de ingreso.

function q = enteros_positivos()
i=1; n=0;

u=input('Ingrese nmero terminar con 0 :');

while data ~= 0
if mod(u,1)==0 & u>0
x(i)=u;
i=i+1;
end
if u>=10
n=n+1;
end
u=input('Ingrese numero terminar con 0 :');
end

disp('Los nmeros enteros ingresados mayores que cero son: ');

y=x

fprintf('%2.0f La cantidad de mayores que 10 es: ',n);

q=n;

end
20. Escribir una funcin en Matlab que solicite por teclado el
ingreso de nmeros positivos hasta ingresar el nmero cero,
luego retorne el promedio de los nmeros ingresados (sin
considerar el cero ingresado al final); as, si se ingresa
sucesivamente los nmeros 1, 2, 3, 4, 5, 0 deber retornar su
promedio que es: (1+2+3+4+5/5) que es igual a 3.
n=1;
i=0;
s=0;
while(n)
n=input('Ingresar un numero positivo ');
if(n==0)
disp(s/i);
return
end
i=i+1;
s=s+n;
end

>> SumaPositivos
Ingresar un numero positivo 1
Ingresar un numero positivo 2
Ingresar un numero positivo 3
Ingresar un numero positivo 4
Ingresar un numero positivo 5
Ingresar un numero positivo 6
Ingresar un numero positivo 0
3.5000

24 Escribir una funcin que halle los nmeros primos de 2 hasta


n.
function [Y] = Primo(x)
c=0;
k=1;
Y=0;
for i=1:x
for j=1:i
if(~rem(i,j))
c=c+1;
end
end
if(c==2)
Y(k)=i;
k=k+1;
end
c=0;
end
end
>> Primo(11)
ans

2 3 5 7 11

28. Escribir una funcin que calcule el promedio de todos los


nmeros que se encuentran entre min y max presentes en un
vector as, si el vector es:

>>x=[4 5 4 7 9 3 11 12 15 7 24 13];
El min = 7 y el max = 15. La funcion aplicada a este vector,
con estos topes pasados con estos parmetros, max, min,
deber devikver 10.57143 que es igual a
7+9+11+12+15+7+13/7=10.57142857142857

function y = MaxMin(x)
a=input('Ingresar valor maximo: ');
b=input('Ingresar valor minimo: ');
n=length(x);
s=0;
d=0;
for i=1:n;
if(x(i)>=b&&x(i)<=a)
s=s+x(i);
d=d+1;
end
end
y=s/d;
end

>> x=[4 5 7 9 3 11 12 15 7 24 13]


x =
4 5 7 9 3 11 12 15 7 24
13

>> MaxMin(x)
Ingresar valor maximo: 15
Ingresar valor minimo: 7
ans =
10.5714

32. Escribir una funcin function y=encuentra _posicin (x,num),


que encuentre la primera posicin del nmero num en el vector
x. En el caso que no se encuentra, que retorne cero, por
ejemplo:

function y = encuentra_posicion(x,num)
n=length(x);
y=0;
for i=1:n
if(x(i)==num&&~y)
y=i;
n=i-1;
end
end
if(~y)
disp('Numero no encontrado');
end
end

x =
14 3 5 2 4 8 15 4
>> encuentra_posicion(x,15)

ans =
5

33. Escribir una function y=mediana (x) que reciba como


parmetro un vector x con datos ordenados de menor a mayor,
que retorne la mediana de estos datos. es decir: si el nmero
de datos es impar , devolver el dato que ocupa la posicin
intermedia , y si el nmero de datos es par entonces
devolver el promedio de los datos que ocupa la posicin
intermedia .por ejemplo:
function [y] = mediana(x)
n=length(x);
if(~rem(n,2))
y=(x((n/2))+x((n/2)+1))/2;
else
y=x(ceil(n/2));
end
end

>> x=(2 5 7 11 17)


>> mediana (x)
7
>> x=(1 28 10 12 15)
>>mediana (x)
9

34. Escribir una funcin: function s=exponencial (x,n) que


calcule en forma eficiente:
2 3
1 + + + + +
2! 3! !

function [s] = exponencial(x,n)


%34. s=exponencial(x,n)
%
s=0;
d=1;
for i=1:n
s=s+(x^i)/d;
d=d*(i+1);
end
s=s+1;
end
>> exponencial(2,3)
ans =
6.3333
>> exponencial(2,4)
ans =
7

40. El collar A puede deslizarse libremente sobre la barra


horizontal como se muestra en la figura 2.7 .El resorte
conectado tiene una constante K y no sufre deformacin cuando
el collar est directamente debajo del soporte B.

a) Expresar en trminos de k y de c la magnitud F requerida para


mantener el equilibrio del sistema.
b) Graficar F como funcin de c para valores de c entre 0 y 600
mm .Cuando k=2N/mm y cuando k=4N/mm.

function y =fuerza(k,c)
r=(300^2+c^2)^(1/2);
x=r-300;
y=k*x*c/r;
end

c1=0:1:600;
k1=2;
for i=1:601
y1(i)=fuerza(k1,c1(i));
end
k2=4;
for i=1:601
y2(i)=fuerza(k2,c1(i));
end
subplot(1,2,1)
plot(c1,y1)
title('Grafico 1')
xlabel('C en mm')
ylabel('F en N')
subplot(1,2,2)
plot(c1,y2)
title('Grafico 2')
xlabel('C en mm')
ylabel('F en N')

41. La barra AB es mantenida en posicin por un cordn AC que


tiene una tensin T.

a) Determinar el momento con respecto a B de la fuerza ejercida


por el cordn en el punto A en trminos de la tensin T y la
distancia c.
b) Graficar el momento con respecto B para c entre 320 y 390
milimetros, si T =50N y T = 100N.

function out =momento(T,x)


a1=atan(680/320);
a2=atan(680/x);
a3=a1-a2;
r=(680^2+320^2)^(1/2);
d=r*sin(a3);
out=T*d;
end
c1=320:1:390;
T1=50;
for i=1:(390-320+1)
y1(i)=momento(T1,c1(i));
end
T2=100;
for i=1:(390-320+1)
y2(i)=momento(T2,c1(i));
end
subplot(1,2,1)
plot(c1,y1)
title('Grafico 1')
xlabel('C en mm')
ylabel('Mr en N*mm')
subplot(1,2,2)
plot(c1,y2)
title('Grafico 2')
xlabel('C en mm')
ylabel('Mr en N*mm')

También podría gustarte