Estudiantes, aquí les dejo algunas versiones que devuelve chatGPT para resolver la Tarea 3. Se va a comparar que tan cerca de las mismas estuvieron las respuesta que entregaron Uds.:
******* VERSIÓN 1 **********
% Programa para analizar datos de temperatura, humedad y presión atmosférica
% a partir de un archivo CSV.
% Pedimos al usuario el nombre del archivo CSV
archivo = input('Ingrese el nombre del archivo CSV (incluyendo .csv): ', 's');
% Leemos los datos del archivo CSV
datos = csvread(archivo, 1, 0); % Se salta la primera fila (asume que es el encabezado)
fecha = datos(:,1); % Columna 1: Fecha en formato numérico (modificar si es necesario)
temperatura_C = datos(:,2); % Columna 2: Temperatura en grados Celsius
humedad = datos(:,3); % Columna 3: Humedad en porcentaje
presion = datos(:,4); % Columna 4: Presión atmosférica en hPa
% Convertimos la temperatura de Celsius a Fahrenheit
temperatura_F = (temperatura_C * 9/5) + 32;
% a) Gráficos de temperatura en °C y °F a lo largo del tiempo
figure;
subplot(2,1,1);
plot(fecha, temperatura_C, '-o');
title('Temperatura en Celsius a lo largo del tiempo');
xlabel('Fecha');
ylabel('Temperatura (°C)');
grid on;
subplot(2,1,2);
plot(fecha, temperatura_F, '-o');
title('Temperatura en Fahrenheit a lo largo del tiempo');
xlabel('Fecha');
ylabel('Temperatura (°F)');
grid on;
% b) Gráfico de presión atmosférica a lo largo del tiempo
figure;
plot(fecha, presion, '-o');
title('Presión atmosférica a lo largo del tiempo');
xlabel('Fecha');
ylabel('Presión atmosférica (hPa)');
grid on;
% c) Gráfico de humedad a lo largo del tiempo
figure;
plot(fecha, humedad, '-o');
title('Humedad ambiente a lo largo del tiempo');
xlabel('Fecha');
ylabel('Humedad (%)');
grid on;
% d) Gráfico de torta para las categorías de temperatura
temp_menor_24 = sum(temperatura_C < 24);
temp_entre_24_26 = sum(temperatura_C >= 24 & temperatura_C <= 26);
temp_mayor_26 = sum(temperatura_C > 26);
porcentajes = [temp_menor_24, temp_entre_24_26, temp_mayor_26];
labels = {'< 24°C', '24-26°C', '> 26°C'};
figure;
pie(porcentajes, labels);
title('Distribución de temperaturas ambiente');
% e) Gráfico de barras para días con riesgo de incendio potencial
riesgo_incendio = temperatura_C > 26 & humedad < 80;
dias_riesgo = sum(riesgo_incendio);
dias_no_riesgo = length(riesgo_incendio) - dias_riesgo;
figure;
bar([1, 2], [dias_no_riesgo, dias_riesgo]);
set(gca, 'xticklabel', {'Días sin riesgo', 'Días con riesgo'});
title('Días con riesgo de incendio potencial');
ylabel('Cantidad de días');
grid on;
******* VERSIÓN 2 **********
% Programa en Octave para analizar datos climáticos
% Lee datos de un archivo CSV y genera gráficos para la temperatura, humedad y presión
% Solicitar al usuario el nombre del archivo CSV
filename = input('Ingrese el nombre del archivo CSV (incluyendo la extensión): ', 's');
% Leer los datos del archivo CSV
data = csvread(filename, 1, 0); % Asume que hay una cabecera en la primera fila
dates = data(:, 1); % Columna de fechas
temperatura_C = data(:, 2); % Temperatura en °C
humedad = data(:, 3); % Humedad en %
presion = data(:, 4); % Presión en hPa
% Convertir fechas a formato numérico
% Asumimos que las fechas están en formato 'yyyy-mm-dd' en la columna 1
fecha_num = datenum(datestr(datenum(dates), 'yyyy-mm-dd'));
% Gráfico de líneas para la temperatura ambiente en °C
figure;
plot(fecha_num, temperatura_C, 'b-', 'LineWidth', 2);
xlabel('Fecha');
ylabel('Temperatura (°C)');
title('Temperatura Ambiente a lo Largo del Tiempo');
datetick('x', 'dd-mmm-yyyy'); % Formatear el eje x como fechas
grid on;
% Gráfico de líneas para la temperatura ambiente en °F
temperatura_F = (temperatura_C * 9/5) + 32; % Conversión a °F
figure;
plot(fecha_num, temperatura_F, 'r-', 'LineWidth', 2);
xlabel('Fecha');
ylabel('Temperatura (°F)');
title('Temperatura Ambiente en °F a lo Largo del Tiempo');
datetick('x', 'dd-mmm-yyyy');
grid on;
% Gráfico de líneas para la presión atmosférica
figure;
plot(fecha_num, presion, 'g-', 'LineWidth', 2);
xlabel('Fecha');
ylabel('Presión (hPa)');
title('Presión Atmosférica a lo Largo del Tiempo');
datetick('x', 'dd-mmm-yyyy');
grid on;
% Gráfico de líneas para la humedad ambiente
figure;
plot(fecha_num, humedad, 'm-', 'LineWidth', 2);
xlabel('Fecha');
ylabel('Humedad (%)');
title('Humedad Ambiente a lo Largo del Tiempo');
datetick('x', 'dd-mmm-yyyy');
grid on;
% Categorizar las temperaturas para el gráfico de torta
temp_baja = sum(temperatura_C < 24);
temp_media = sum(temperatura_C >= 24 & temperatura_C <= 26);
temp_alta = sum(temperatura_C > 26);
categorias = [temp_baja, temp_media, temp_alta];
etiquetas = {'Menor a 24°C', 'Entre 24°C y 26°C', 'Mayor a 26°C'};
% Gráfico de torta
figure;
pie(categorias, etiquetas);
title('Proporción de Temperaturas Ambiente');
% Calcular días con riesgo de incendio (temperatura > 26°C y humedad < 80%)
riesgo_incendio = sum(temperatura_C > 26 & humedad < 80);
% Gráfico de barras para días con riesgo de incendio
figure;
bar(riesgo_incendio);
xlabel('Riesgo de Incendio');
ylabel('Cantidad de Días');
title('Cantidad de Días con Riesgo de Incendio Potencial');
set(gca, 'XTickLabel', {'Días con riesgo'});
grid on;
disp('Gráficos generados exitosamente.');