Matlab no muestra el gráfico de mi codigo
Estoy usando matlab online y nunca he tenido problemas con las graficas ni codigo, todo me funcionaba perfecto, hace unos dias hice un codigo que me devuelve una grafica, pero hoy ejecute el mismo codigo sin ningun cambio y no me devuelve la grafica, solo me muestra el pnale de grafica pero en blanco
tengo el siguiente codigo:
close all
clear all
clc
% Duración y frecuencia de muestreo
duration = 5;
Fs = 44100;
t = linspace(0, duration, duration * Fs);
% crossfade con maximo de 1
crossfade = exponentialFunction(t, 1, 1);
% Señal generada aleatoriamente adicional para producir el efecto de crossfade
autoGeneratedSignal = cos(2 * pi * 1000 * t); % Ajusta la frecuencia y forma de la señal
% Aplicar crossfade a las dos señales
signal1 = autoGeneratedSignal .* crossfade(2, :);
signal2 = sin(2 * pi * 500 * t) .* crossfade(1, :); % Genera otra señal, puedes ajustar la frecuencia
% Sumar las señales para obtener el resultado del crossfade
result = signal2 + signal1;
% Visualizar el resultado
figure;
subplot(3, 1, 1);
plot(t, signal1, ‘LineWidth’, 2);
title(‘Señal Generada con Crossfade’);
subplot(3, 1, 2);
plot(t, signal2, ‘LineWidth’, 2);
title(‘Otra Señal con Crossfade’);
subplot(3, 1, 3);
plot(t, result, ‘LineWidth’, 2);
title(‘Resultado del Crossfade’);
% Reproducir el resultado
sound(result, Fs);
function y = exponentialFunction(t, decayRate, growthRate)
% Genera una función exponencial decreciente y creciente con un valor máximo de 1.
% Parámetros:
% t: Vector de tiempo
% decayRate: Tasa de decrecimiento exponencial (debe ser un número positivo)
% growthRate: Tasa de crecimiento exponencial (debe ser un número positivo)
% Asegúrate de que los parámetros sean válidos
if decayRate <= 0 || growthRate <= 0
error(‘Las tasas de decrecimiento y crecimiento deben ser números positivos.’);
end
% Genera las funciones exponenciales
decayFunction = exp(-decayRate * t);
growthFunction = 1 – exp(-growthRate * t);
% Normaliza las funciones para tener un valor máximo de 1
decayFunction = decayFunction / max(decayFunction);
growthFunction = growthFunction / max(growthFunction);
% Combina las funciones
y = [decayFunction; growthFunction];
endEstoy usando matlab online y nunca he tenido problemas con las graficas ni codigo, todo me funcionaba perfecto, hace unos dias hice un codigo que me devuelve una grafica, pero hoy ejecute el mismo codigo sin ningun cambio y no me devuelve la grafica, solo me muestra el pnale de grafica pero en blanco
tengo el siguiente codigo:
close all
clear all
clc
% Duración y frecuencia de muestreo
duration = 5;
Fs = 44100;
t = linspace(0, duration, duration * Fs);
% crossfade con maximo de 1
crossfade = exponentialFunction(t, 1, 1);
% Señal generada aleatoriamente adicional para producir el efecto de crossfade
autoGeneratedSignal = cos(2 * pi * 1000 * t); % Ajusta la frecuencia y forma de la señal
% Aplicar crossfade a las dos señales
signal1 = autoGeneratedSignal .* crossfade(2, :);
signal2 = sin(2 * pi * 500 * t) .* crossfade(1, :); % Genera otra señal, puedes ajustar la frecuencia
% Sumar las señales para obtener el resultado del crossfade
result = signal2 + signal1;
% Visualizar el resultado
figure;
subplot(3, 1, 1);
plot(t, signal1, ‘LineWidth’, 2);
title(‘Señal Generada con Crossfade’);
subplot(3, 1, 2);
plot(t, signal2, ‘LineWidth’, 2);
title(‘Otra Señal con Crossfade’);
subplot(3, 1, 3);
plot(t, result, ‘LineWidth’, 2);
title(‘Resultado del Crossfade’);
% Reproducir el resultado
sound(result, Fs);
function y = exponentialFunction(t, decayRate, growthRate)
% Genera una función exponencial decreciente y creciente con un valor máximo de 1.
% Parámetros:
% t: Vector de tiempo
% decayRate: Tasa de decrecimiento exponencial (debe ser un número positivo)
% growthRate: Tasa de crecimiento exponencial (debe ser un número positivo)
% Asegúrate de que los parámetros sean válidos
if decayRate <= 0 || growthRate <= 0
error(‘Las tasas de decrecimiento y crecimiento deben ser números positivos.’);
end
% Genera las funciones exponenciales
decayFunction = exp(-decayRate * t);
growthFunction = 1 – exp(-growthRate * t);
% Normaliza las funciones para tener un valor máximo de 1
decayFunction = decayFunction / max(decayFunction);
growthFunction = growthFunction / max(growthFunction);
% Combina las funciones
y = [decayFunction; growthFunction];
end Estoy usando matlab online y nunca he tenido problemas con las graficas ni codigo, todo me funcionaba perfecto, hace unos dias hice un codigo que me devuelve una grafica, pero hoy ejecute el mismo codigo sin ningun cambio y no me devuelve la grafica, solo me muestra el pnale de grafica pero en blanco
tengo el siguiente codigo:
close all
clear all
clc
% Duración y frecuencia de muestreo
duration = 5;
Fs = 44100;
t = linspace(0, duration, duration * Fs);
% crossfade con maximo de 1
crossfade = exponentialFunction(t, 1, 1);
% Señal generada aleatoriamente adicional para producir el efecto de crossfade
autoGeneratedSignal = cos(2 * pi * 1000 * t); % Ajusta la frecuencia y forma de la señal
% Aplicar crossfade a las dos señales
signal1 = autoGeneratedSignal .* crossfade(2, :);
signal2 = sin(2 * pi * 500 * t) .* crossfade(1, :); % Genera otra señal, puedes ajustar la frecuencia
% Sumar las señales para obtener el resultado del crossfade
result = signal2 + signal1;
% Visualizar el resultado
figure;
subplot(3, 1, 1);
plot(t, signal1, ‘LineWidth’, 2);
title(‘Señal Generada con Crossfade’);
subplot(3, 1, 2);
plot(t, signal2, ‘LineWidth’, 2);
title(‘Otra Señal con Crossfade’);
subplot(3, 1, 3);
plot(t, result, ‘LineWidth’, 2);
title(‘Resultado del Crossfade’);
% Reproducir el resultado
sound(result, Fs);
function y = exponentialFunction(t, decayRate, growthRate)
% Genera una función exponencial decreciente y creciente con un valor máximo de 1.
% Parámetros:
% t: Vector de tiempo
% decayRate: Tasa de decrecimiento exponencial (debe ser un número positivo)
% growthRate: Tasa de crecimiento exponencial (debe ser un número positivo)
% Asegúrate de que los parámetros sean válidos
if decayRate <= 0 || growthRate <= 0
error(‘Las tasas de decrecimiento y crecimiento deben ser números positivos.’);
end
% Genera las funciones exponenciales
decayFunction = exp(-decayRate * t);
growthFunction = 1 – exp(-growthRate * t);
% Normaliza las funciones para tener un valor máximo de 1
decayFunction = decayFunction / max(decayFunction);
growthFunction = growthFunction / max(growthFunction);
% Combina las funciones
y = [decayFunction; growthFunction];
end matlab online MATLAB Answers — New Questions