Documentos de Académico
Documentos de Profesional
Documentos de Cultura
function primer_ejercicio
clc
disp('1) Escribir una función que sume todos los elementos de una matriz
numérica de tamaño n x m.');
disp('2) Escribir una función que devuelva la media de los elementos de
una matriz numérica de tamaño n x m.');
disp('3) Un profesor quiere analizar los resultados de los exámenes que
propone a sus alumnos. ');
disp(' Cada alumno se examina 3 veces en un curso.');
disp('Y en cada ocasión realiza dos tipos de examen: un test y uno de
problemas.');
disp('Por tanto, en total son 6 exámenes por alumno.');
a= input('\nIngrese una opcion : ');
switch a
case 1
matriz_numerica(1)
case 2
matriz_numerica(2)
case 3
clc
disp('1)Calcular la media por cada tipo de examen en cada
convocatoria. La función debe devolver un vector con las 6 medias.');
disp('2)Calcular la media por alumno. También se devolverá un vector
con todas las medias.');
disp('3)Escribir una función que indique el número de alumnos cuya
nota media es superior a la media de todos los exámenes para todos los
alumnos.');
b= input('\nIngrese una opcion : ');
switch b
case 1
examen(1)
case 2
examen(2)
case 3
examen(3)
otherwise
input('Opcion incorrecta....vuelva a elegir una opcion
valida\n')
primer_ejercicio
end
otherwise
input('Opcion incorrecta....vuelva a elegir una opcion valida\n')
primer_ejercicio
end
function matriz_numerica(caso)
suma=0;
mfilas=input('Ingrese el numero de filas: ');
ncolumnas=input('Ingrese el numero de columnas: ');
%int A([m_filas,n_columnas]);
for x=1: mfilas
for y=1:ncolumnas
fprintf('%s %d %s %s %d %s', '[', x ,']','[',y,']');
A(x,y)=input(':');
suma= suma+A(x,y);
end
end
if caso == 1
disp('La suma es ');
disp(suma)
else
media = suma/(mfilas*ncolumnas);
disp('La media es ');
disp (media)
end
function examen(caso2)
cont=0;
suma_total_examenes=0;
mfilas=input('Ingrese el numero de alumnos: ');
ncolumnas=6;
for x=1: mfilas
fprintf('%s %d \n','Ingrese los datos del estudiante',x);
suma_alumnos(mfilas);
media_alumnos(mfilas);
suma_examenes(ncolumnas);
media_examenes(ncolumnas);
for y=1:ncolumnas
if mod(y, 2) == 0
fprintf('%s %d ','Ingrese la nota del examen ',y);
else
fprintf('%s %d ','Ingrese la nota del examen ',y);
end
A(x,y)=input(':');
suma_alumnos(x)=suma_alumnos(x)+A(x,y);%sa=suma de alumnos
end
media_alumnos(x)=suma_alumnos(x)/(ncolumnas);
end
switch caso2
case 1
for y=1:ncolumnas
for x=1:mfilas
suma_examenes(y)=suma_examenes(y)+A(x,y);%se= suma de
examenes
end
media_examenes(y)= suma_examenes(y)/(mfilas); %media examenes c/u
fprintf('%s %d %s %d \n','la media del examen :',y,' es
',media_examenes(y));
end
case 2
for x=1:mfilas
fprintf('%s %d %s %d \n','el alumno ',x,' tiene un promedio
de:',media_alumnos(x));
end
otherwise
for y=1:ncolumnas
for x=1:mfilas
suma_examenes(y)=suma_examenes(y)+A(x,y);
end
media_examenes(y)= suma_examenes(y)/(mfilas); %media examenes c/u
fprintf('%s %d %s %d \n','la media del examen :',y,' es
',media_examenes(y));
end
for y=1:ncolumnas
suma_total_examenes=suma_total_examenes+media_examenes(y);
end
media_total_examenes=suma_total_examenes/(ncolumnas);
fprintf('%s %d \n','la media de los examenes es
',media_total_examenes);
for x=1:mfilas
if media_alumnos(x)>media_total_examenes
cont= cont+1;
fprintf('%s %d %s %d \n','El promedio del alumno -',x,' - es
',media_alumnos(x));
end
end
fprintf('%s %d \n','EL TOTAL DE ALUMNOS DE MEDIAS MAYORES A LA DE
LOS EXAMENES ES',cont);
end
TEMA2:PROBLEMA1
function segundo_ejercicio_dos
M=[1 0 1;0 1 1;0 1 2]
A=[1,22,16,24,16,37,21,34,1,17;9,24,37,36,28,17,18,18,20,23;10,43,53,56,4
4,34,20,31,20,23]
M_INV=inv(M)
MF=M_INV*A %MF MATRIZ FINAL
end
end
end