Professional Documents
Culture Documents
Ejemplo 1
Crea una función expo1 que permita obtener la suma de términos de la serie de Taylor para aproximar
el exponencial de un numero real ‘x’ dado en entero:
% Haciendo la función
function s=expo1(x,n);
s=1;
fact=1;
for i=1:n;
fact=fact*i;
s=s+x^i/fact;
end
disp(s)
>> s=expo1(1,6)
2.7181
s=
2.7181
function [s,err]=expo2(x,n);
s=1;
fact=1;
for i=1:n;
fact=fact*i;
s=s+x^i/fact;
end
err=abs(exp(x)-s)
>> [sum,err]=expo2(1,6)
err =
2.2627e-04
sum =
2.7181
function f=fact(n);
if n==0;
f=1;
elseif n==1;
f=1;
else
f=n*fact(n-1)
end
>> % Cuyo llamado se realiza ya sea desde la ventana de comandos o desde otro programa o función
que lo requiera:
>> f=f(5)
f=
120
EJEMPLO 2 IF
% Prueba 02
>> prueba02
ingrese numero: 1
n=
1
s=
0.1898
>> prueba02
ingrese numero: 2
n=
s=
1.1748 0.5033
1.2620 -0.4195
>> prueba02
ingrese numero: 3
n=
s=
% Prueba03
opc=3
switch opc
case 3
disp('Mecanica')
case 4
disp('Mecanica-Electrica')
case 5
disp('Naval')
case 6
disp('Mecatronica')
otherwise
disp('Fuera de rngo ...')
end
>> prueba03
opc =
Mecanica
EJEMPLO 4 FOR
% Pureba 4
for k=1:100;
x=sqrt(k);
if x>5
fprintf('x=%5.2f , k=%3d \n',x,k)
break
end
end
>> Prueba04
x= 5.10 , k= 26
EJEMPLO 5 WHILE
m=10;
k=0;
% Calculo Numerico FIM-UNI 15
while k<=m
x=k/10;
disp([x,x^2,x^3]);
k=k+1;
end
>> Prueba05
0 0 0
1 1 1
EJEMPLO 6
disp('Circunferencia1')
disp(' ')
Angulo=input('introduzca el valor del angulo (en grados): ')
Comp_x=cosd(Angulo);
Comp_y=sind(Angulo);
Resultante=[Comp_x; Comp_y;];
Comp_Res=norm(Resultante);
disp(' ')
disp('Valor de componente en x: ')
disp(Comp_x)
disp('valor de la componente en y: ')
disp(Comp_y)
disp('valor de la componente resultante: ')
disp(Comp_Res)
hold on
grid
line([-1.5,1.5],[0,0])
line([0.0],[-1.5,1.5])
title('Circunferencia1')
xlabel('Eje X')
ylabel('Eje Y')
text(Comp_x/2,-0.1,'Componente X','FontSize',7)
text(Comp_x+0.1,Comp_y/2,'Componente Y','FontSize',7)
viscircles([0,0],1,'linestyle',':');
plot([0,Comp_x],[0,0],'green','linewidth',3);
plot([Comp_x,Comp_x],[0,Comp_y],'yellow','linewidth',3);
plot([0,Comp_x],[0,Comp_y],'cyan','linewidth',3,'linestyle','--');
viscircles([0,0],1,'linestyle',':');
>> Circunferencia1
Circunferencia1
Angulo =
45
Valor de componente en x:
0.7071
valor de la componente en y:
0.7071
hold on
x=[-2*pi:0.001:2*pi];
y1=sqrt(1-x.^2);
Y1=-sqrt(1-x.^2);
plot(x,y1,'r',x,Y1,'r')
y2=sqrt(4-x.^2);
Y2=-sqrt(4-x.^2);
plot(x,y2,'b',x,Y2,'b')
y3=sqrt(9-x.^2);
Y3=-sqrt(9-x.^2);
plot(x,y3,'y',x,Y3,'y')
y4=sqrt(16-x.^2);
Y4=-sqrt(16-x.^2);
plot(x,y4,'g',x,Y4,'g')
grid
function cilindro
n=input('ingrese el angulo (en grados sex): ');
y=input('ingrese el valor del radio: ');
r=input('ingrese el valor de z: ');
axis off;
mov=moviein (30);
for x=1:30;
t=linspace(n,y,r); r=sqrt(t);
cylinder(r)
shading
end
movie(mov ,60,10)
>> cilindro
ingrese el valor de z: 40
SU CORRESPONDIENTE GRAFICA