Está en la página 1de 5

EJERCICIOS DE LABORATORIO 6

1. Sea A una matriz de mxn y B una matriz de pxq .Implemente la función bloque (A,B)
la cual genere la matriz bloque diagonal (m+p)x(n+q)
Implementando el programa
function r=bloque(a,b);
y=rank(a);%columnas
p=length(a);%filas
h=rank(b);%columnas
i=length(b);%filas
w=(p+i);
k=(y+h);
e=rand(w,k);
r=e;

2. Crear la función (programa) r=mmedad(n) que al ingresar la edad de la persona


‘n’ ,determinar si es 1=’ mayor’ de edad ‘ o o=menor de edad isn usar el comando if
.Por ejemplo cuando ejecute en la ventana de comando:
function r=mmedad(n);
switch n
case {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18}

r='1';

otherwise

r='0';

end

3. Escribir una función (programa) para calcular el mayor y menor lado de un triangulo
sin usar la sentencias if

function k=mym(a,b,c)
v=[a b c];
for k=1:2
t=v(k)-v(k+1);
l=sign(t);
switch l
case {-1}
temp=v(k+1);
v(k+1)=v(k);
v(k)=temp;
end
end
menor=v(3);
r=v(1)-v(2);
to1=sign(r);
switch to1
case {-1}
temp=v(2);
v(2)=v(1);
v(1)=temp;
end
mayor=v(1);
k=[menor mayor];

4. Implemente la función poliysum (p,q)la cual sume los dos polinomios

function w=polysum(p,q);

r=p + q ;

w=r;

5. Implemente la función antidia(A) la cual extraiga la antidiagonal de la matriz A


dicha función deberá mostrar un mensaje de error en caso que la matriz A no sea
cuadrada

function r=antidiag(h);

b=rank(h);

a=length(h);

v=[ ];

if a==b

for i=1:1:a

for j=1:1:b

if i+j==b+1
r=h(i,j);

v=[r];

end

end

end

end

6. Implemente la función sgeo(x.n) para calcular la suma de los primeros n términos de


1 2 3
la serie =1+ x+ x + x + … Validar para que solo acepte valores de x tal que
1−x
|x|<1
function y= sgeo(p,n);

s=0;

pro=p;

i=0;

while i<n

m= pro ^i;

i=i+1;

s= s + m;

end

y=s;
7. Implemente una función aitken(n) que genere n términos de la sucesión definida por
( X n+1 −X n )2
y n= X X −
X n+2−2 X n+1 + X n

−X
Siendo X n=g ( X n−1 ) , g ( X )=2 , X 1=0.5

Function r=aitken(n);

x=0.5;

i=1;

While i<n

x= 2^ (-x);

i=i+1;

end

%x1

i=1;

y=0.5;

While i<n+1

y= 2^(-y);

i=i+1;

end

%x2

i=1;

z=0.5;

while i<n+2

z= 2^(-z);
i=i+1;

end

%x3

m=(y-x)^2;

u=z-2*y+x;

q =x-(m/u);

r=q;

También podría gustarte