Sunteți pe pagina 1din 9

1) Leer el nmero natural N, y determinar los nmeros naturales menores a N que sean

mltiplos de 3 mltiplos de 5. Determine el promedio de los nmeros obtenidos.


%Problema 1
function [p]=Problema1()
%Forma alternativa
N=input('Ingrese un Nmero N ');
multiplos=numerosMultiplos(N);
p=mean(multiplos);
disp(p);
end
function [a]=numerosMultiplos(n)
a=[];
for i=1:n-1
if((rem(i,3)==0) || (rem(i,5)==0))
a= [a i];
end;
end;
end

2) Realizar un programa donde se ingresa el dato entero


N*N, segn lo mostrado:
Por ejemplo con N = 4, obtendr:
A=
1 2
2 3
3 4
4 5

N, y obtenga la matriz A de
3
4
5
6

4
5
6
7

function problema2()
N=input('Ingrese El Valor N de la matriz ');
A=zeros(N,N);
%Inicializo Matriz con ceros
A(1,:)=1:N;
for i=2:N
A(i,:)=A(i-1,:)+1;
end;
for i=2:2:N
A(i,:)=A(i,N:-1:1);
end;
disp(A);
end

3) Dadas las coordenadas x, y, Determinar si el segmento AB conformado por los


puntos x, y cruza, 0, 1 2 ejes.
function ejercicio3()
x=input('Ingrese valor de x ');
y=input('Ingrese valor de y ');
if((x>0)&&(y>0))
disp('corta 0 ejes');
elseif((x<=0)&&(y<=0))
disp('corta 2 ejes');
else
disp('corta 1 eje');

end;
end

4) Ingrese N valores a un vector, ordnelos de forma ascendente y de estos recupere el


nmero central en caso de que N sea impar y en caso de ser par devolver el
promedio de los dos nmeros centrales.
function ejercicio4()
a=input('Ingrese valores al vector []');
res=mediana(a);
disp(res);
end
function y=mediana(p)
p=sort(p);
n=length(p);
if(rem(n,2)==0)
y=(p(n/2)+p(n/2+1))/2;
else
y=p(floor(n/2)+1); %Redondeo porque es una posicin
end
end

5) Ingrese N notas, Ordnelas de mayor a menor , saque su promedio y muestre las


notas superiores a este.
function problema5()
N=input('Ingrese la cantidad de Notas: ');
x=[];
for i=1:N
nota=input('Ingrese nota=');
x=[x nota];
end;
z=sort(x,'descend');
disp('Notas de mayor a menor');
disp(z);
disp(['El promedio de las notas es', num2str(mean(x))]);
disp('Notas que superan el promedio');
for i=1:N
if(x(i)>mean(x))
disp(x(i));
end;
end;
end

6) Hacer un programa que lee los datos a, b y T (reales), y calcule la siguiente


sumatoria solo mientras cada trmino sea mayor a T:
S = a + b2 + a3 + b4 + a5 + .
1! 2!
3!
4!
5!
Nota: Probar con a=3, b=4 y T=2 (T siempre debe ser menor)

function sumatoria()
a=input('Ingrese a= ');
b=input('Ingrese b= ');
T=input('Ingrese T= ');
S=0;
k=a; %primer trmino;
i=1;
while (k>T)
S=S+k;
i=i+1;
if(rem(i,2)==0)
k=b^i/factorial(i);
else
k=a^i/factorial(i);
end;
end;
disp(i);
disp(S);
end

7) Hacer un programa que calcule la siguiente serie:


1!
2!
3!
4!
N!

......
2
2
3
3
4
4
N
x 2 x 2
x 2
x 2
x 2N
Los datos son N y X, y asumir que se ingresan valores vlidos.

S=

function serie()
N= input('Ingrese el nmero de trminos de la serie = ');
x= input('Ingrese el valor de x = ');
S=0;
for i= 1:N
f=1;
for j= 1:i
f=f*j;
end;
S= S+f/(x^i*2^(i/2));
end;
disp('La sumatoria da =');
disp(S);
end

8) Crear la funcin mul72(A, B) que determina cuntos mltiplos de 7 con su ltimo


dgito par, hay en el rango desde A hasta B. (AB).
function Problema8()
A= input('Ingrese Valor A = ');
B= input('Ingrese valor B = ');
mul72(A,B);
end
function y= mul72(A,B)
d=A:B;

u=rem(d,10);
d=d(rem(d,7)==0 & rem(u,2)==0);
y=length(d);
disp(y);
end

9) Crear un vector de C nmeros aleatorios entre el rango [A,B] y determinar


utilizando funciones de librera de MATLAB:
a) Mximo Elemento
b) Mnimo Elemento
c) Suma de los Elementos
d) Promedio de los Elementos
e) Desviacin Estndar de los Elementos
function Problema9()
A= input('Ingrese Valor A = ');
B= input('Ingrese valor B = ');
C= input('Ingrese Cantidad de Nmeros Aleatorios= ');
randAB(A,B,C);
end
function randAB(a,b,c)
r = a + (b-a).*rand(c,1);
fprintf('El Mximo es %f \n', max(r));
fprintf('El Mnimo es %f \n', min(r));
fprintf('La Suma es %f \n', sum(r));
fprintf('El Promedio es %f \n', mean(r));
fprintf('La Desviacion Estndar es %f \n', std(r));
end

10) Construya una matriz mgica de dimensin N y de esta extraiga los valores
mayores a 10 y luego reemplcelos por el valor 9.
function problema10()
n=input('Ingrese tamao Matriz= ');
mat=magic(n);
k=mat>10; %Almacena valor lgico
disp(k); %imprime el valor logico de los mayores a 10
mat(k)=9;
disp(mat);
end

11) Obtener un vector cuyos componentes:


a) se encuentren entre 5 y 25, y separados por 5 unidades
>> e=[5:5:25]
e=
5 10 15 20 25
b) sean los nmeros entre 10 y 30 separados por una unidad

>> s=[10:1:30]
s=
10 11 12 13 14 15 16
24 25 26 27 28 29 30

17

18

19

20

21

22

23

c) 6 nmeros entre 0 y 20 igualmente espaciados


>> d=linspace(0,20,6)
d=
0 4 8 12 16 20

12) Construir una matriz A de 2x3 cuyas filas son los 6 primeros impares consecutivos
A=[1 3 5;7 9 11]
A=
1
7

3
9

5
11

a) Anular el elemento (2,3)


A(2,3)=0
A=
1
7

3
9

5
0

b) Obtener la matriz B = A
>> B=A'
B=
1
3
5

7
9
0

c) Construir una matriz C, formada por la matriz B y la matriz identidad de


orden 3 adosada a su derecha
C=[B eye(3)]
C=
1
3
5

7
9
0

1
0
0

0
1
0

0
0
1

d) Construir una matriz D extrayendo las columnas impares de la matriz C

D=[C(:,[1 3 5])]
D=
1
3
5

1
0
0

0
0
1

e) Construir una matriz E formada por la interseccin de las dos primeras


filas de C y sus columnas tercera y quinta
E=[C([1 2],[3 5])]
E=
1
0

0
0

f) Construir una matriz F formada por la interseccin de las dos primeras


filas y las tres ltimas columnas de la matriz C
>> F=[C([1 2],[3 4 5])]
F=
1
0

0
1

0
0

g) Construir una matriz diagonal G tal que los elementos de su diagonal


principal son los mismos que los de la diagonal principal de D
g=diag(D)
g=
1
0
1
G=diag(g)
G=
1
0
0

0
0
0

0
0
1

h) Calcular el orden de la matriz C


S=size(C)

S=
3

13) Genere los nmeros primos menores a un nmero A


function problema13()
clc;
%Muestra los primos <= A
A=input('Ingrese A:');
p=[];
for i= 2 :A
if ( ndiv(i)==1)
p=[p, i];
end;
end;
disp('Los primos son:');
disp(p);
end
function y=ndiv(a)
c=0;
for i= 1:a/2
if (mod(a,i)==0)
c=c+1;
end;
end;
y=c;
end

14) Genere una matriz N en la cual los nmeros por fila sean correlativos de uno en uno
y los nmeros de las columnas estn correlativos de dos en dos, esto como sigue:
N=4
1
3
5
7

2
4
6
8

3 4
5 6
7 8
9 10

function problema14()
n= input('ingrese el nmero n:');
for k= 1:1:n;
for j= 1:n;
s= k+ j-1;
A(k,j) = s + (k-1);
end
end
disp(A)
end

15) Realice un funcin que indique si tres valores conforman un triangulo y si fuese as,
que tipo de triangulo es. (solo para nmeros
function trinagulo()
a=input('Ingrese el lado a= ');
b=input('Ingrese el lado b= ');
c=input('Ingrese el lado c= ');
if (a>0 && b>0 && c>0 && a<b+c && b<a+c && c<a+b)
disp('Si es triangulo');
if (a==b && b==c)
disp('es equilatero');
elseif(a==b || b==c || a==c )
disp('es isosceles');
else
disp('es escaleno');
end;
if (a*a==(b*b+c*c) || b*b==(a*a+c*c) || c*c==(a*a+b*b))
disp('Es triangulo rectangulo')
else
disp('No es triangulo rectangulo')
end;
else
disp('No es triangulo');
end;
end

Nota: Si tienen dudas pueden evaluar las expresiones corriendo el debuger (punto
rojo) y luego seleccionar lo que se desea evaluar (ver foto)

S-ar putea să vă placă și