Matlab - Funciones definidas por el usuario.

 
Vista:
sin imagen de perfil
Val: 27
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Funciones definidas por el usuario.

Publicado por Jordi (12 intervenciones) el 09/02/2021 02:52:00
Resoler el siguiente ejercicio utilizando funciones definidas por el usuario para ingresar datos, realizar procedimientos e imprimir resultados.
Una empresa de transporte cuenta con N choferes, de los cuales se conoce los kilometros que conducen durante cada dia de la semana, esa informacion se guarda en una ,matriz de N x 6. Se requiere un programa que capture esa informacion tal y como se muestra en la figura.
Determine:
El chofer con el mayor numero de kilometros en la semana.
El chofer que recorrio mas kilometros durante los 6 dias de la semana.
F2
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jon
Val: 354
Ha aumentado 1 puesto en Matlab (en relación al último mes)
Gráfica de Matlab

Funciones definidas por el usuario.

Publicado por Jon (161 intervenciones) el 09/02/2021 10:29:32
Buenos días Jordi,

Aquí tienes tu problema resuelto. Repásalo bien y, cualquier duda, me dices.

Un saludo,

Jon
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 27
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Funciones definidas por el usuario.

Publicado por Jordi (12 intervenciones) el 09/02/2021 20:37:56
No tengo ese programa, no puedo abrir ese programa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jon
Val: 354
Ha aumentado 1 puesto en Matlab (en relación al último mes)
Gráfica de Matlab

Funciones definidas por el usuario.

Publicado por Jon (161 intervenciones) el 09/02/2021 22:18:10
Buenas noches Jordi,

Es verdad que no has especificado, pero has preguntado por el subforo de MATLAB...

Aquí te copio las diferentes partes de código, por si te sirve de referencia para lenguaje C o similar.

Main
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
%% MATLAB EJERCICIO: CHÓFERES Y KILÓMETROS (C) Jon Aztiria
clc;
clear all;
close all;
 
%% Ingresar datos
[Kilometros_num, Kilometros_tabla] = fun_IngresarDatos;
 
%% Realizar procedimientos
[ChoferMaxDia, ChoferMaxSemana, KmMaxDia_Max, KmMaxSemana_Max] = ...
            fun_RealizarProcedimientos (Kilometros_num);
 
%% Imprimir resultados
fun_ImprimirResultados (Kilometros_tabla, ChoferMaxDia, ChoferMaxSemana, ...
                        KmMaxDia_Max, KmMaxSemana_Max);

Ingresar datos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
function [Kilometros_num, Kilometros_tabla] = fun_IngresarDatos
 
    %% Bienvenida
    fprintf('BIENVENIDO AL PROGRAMA DE CÁLCULO DE TU EMPRESA DE TRANSPORTE\n\n');
 
    %% Definir cantidad de chóferes
    N = input('¿Cuántos chóferes cuenta su empresa de transporte? ');
    fprintf('\n');
 
    %% Ingresar datos
    for i = 1 : N
        % Preguntar por kilómetros diarios
        Mensaje = sprintf('Inserter los kilómetros de cada día (a modo de array) del chófer Nº %s: \n\n\t\t',num2str(i));
        Kilometros_str = input(Mensaje,'s');
        fprintf('\n');
 
        % Convertir string array a arra númerico
        Kilometros_num(i,:) = str2num (Kilometros_str);
 
        % Verificar que se han insertado 6 datos
        if ~(length(Kilometros_num(i,:)) == 6)
            fprintf('ERROR! Recuerda que la semana tiene 6 días laborables.\n\n');
        end
    end
 
    %% Realizar tabla de kilómetros (con días de la semana)
    Kilometros_tabla = table(Kilometros_num(:,1),Kilometros_num(:,2),Kilometros_num(:,3),Kilometros_num(:,4),Kilometros_num(:,5),Kilometros_num(:,6),...
                                'VariableName',{'Lunes','Martes','Miércoles','Jueves','Viernes','Sábado'});

Realizar procedimientos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function [ChoferMaxDia, ChoferMaxSemana, KmMaxDia_Max, KmMaxSemana_Max] = ...
            fun_RealizarProcedimientos (Kilometros_num)
 
    %% Obtener dimensiones de la matriz de kilométros
    % row = chóferes
    % col = días de la semana
    [row, col] = size (Kilometros_num);
 
    %% Buscar chófer con kilómetros diarios máximos
    KmMaxDia_Max = max(max(Kilometros_num));
 
    for i = 1 : row
        for j = 1 : col
            if (Kilometros_num(i,j) == KmMaxDia_Max)
                ChoferMaxDia = i;
            end
        end
    end
 
    %% Buscar chófer con kilómetros semanales máximos
    for i = 1 : row
        KmMaxSemana_Array(i) = sum(Kilometros_num(i,:));
    end
    KmMaxSemana_Max = max(KmMaxSemana_Array);
    ChoferMaxSemana = find(KmMaxSemana_Array == KmMaxSemana_Max);

Imprimir resultados
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
function [Kilometros_num, Kilometros_tabla] = fun_IngresarDatos
 
    %% Bienvenida
    fprintf('BIENVENIDO AL PROGRAMA DE CÁLCULO DE TU EMPRESA DE TRANSPORTE\n\n');
 
    %% Definir cantidad de chóferes
    N = input('¿Cuántos chóferes cuenta su empresa de transporte? ');
    fprintf('\n');
 
    %% Ingresar datos
    for i = 1 : N
        % Preguntar por kilómetros diarios
        Mensaje = sprintf('Inserter los kilómetros de cada día (a modo de array) del chófer Nº %s: \n\n\t\t',num2str(i));
        Kilometros_str = input(Mensaje,'s');
        fprintf('\n');
 
        % Convertir string array a arra númerico
        Kilometros_num(i,:) = str2num (Kilometros_str);
 
        % Verificar que se han insertado 6 datos
        if ~(length(Kilometros_num(i,:)) == 6)
            fprintf('ERROR! Recuerda que la semana tiene 6 días laborables.\n\n');
        end
    end
 
    %% Realizar tabla de kilómetros (con días de la semana)
    Kilometros_tabla = table(Kilometros_num(:,1),Kilometros_num(:,2),Kilometros_num(:,3),Kilometros_num(:,4),Kilometros_num(:,5),Kilometros_num(:,6),...
                                'VariableName',{'Lunes','Martes','Miércoles','Jueves','Viernes','Sábado'});

Un saludo,

PD: Si el problema es el formato del archivo comprimido (.zip), te adjunto la carpeta en otra extensión común (.rar).

Jon
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Funciones definidas por el usuario.

Publicado por eren (1 intervención) el 19/08/2021 21:31:59
es

AL EJERCUTAR EL PROGRAMA ME TIRA UN ERROR
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Funciones definidas por el usuario.

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 24/08/2021 00:14:40
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
>> fun_IngresarDatos
BIENVENIDO AL PROGRAMA DE CÁLCULO DE TU EMPRESA DE TRANSPORTE
 
¿Cuántos chóferes cuenta su empresa de transporte? 3
 
Inserter los kilómetros de cada día (a modo de array) del chófer Nº 1:
 
		round(100*rand(1,6))
 
Inserter los kilómetros de cada día (a modo de array) del chófer Nº 2:
 
		round(100*rand(1,6))
 
Inserter los kilómetros de cada día (a modo de array) del chófer Nº 3:
 
		round(100*rand(1,6))
 
 
ans =
 
    93    68    76    74    39    66
    17    71     3    28     5    10
    82    69    32    95     3    44
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar