Matlab - problemas comando function

   
Vista:

problemas comando function

Publicado por ivan (24 intervenciones) el 13/07/2012 21:29:14
Saludos

Vereis os comento mi problema con el comando function, resulta que al pasarle esta entrada:

function [senal_salida] = compresor(senal_entrada,fs,umbral, pendiente)

Lo mas normal es que me devolviera la variable señal de salida y con ese nombre, pero en vez de ello me devuelve "ans" que es la respuesta por defecto, alguien sabe a que pude deberse????

A continuacion dejo el codigo por si quereis echarle un ojo:

function [senal_salida] = compresor(senal_entrada,fs,umbral, pendiente)

%Conversion estereo a mono
if size(senal_entrada,2)==2
senal_entrada=(senal_entrada(:,1)+senal_entrada(:,2))/2;
end

%Creamos la señal de salida
senal_salida = senal_entrada;

%ALGORITMO
for i=1:length(senal_entrada)
if senal_entrada(i)>umbral
senal_salida(i)=umbral+pendiente*(senal_entrada(i)-umbral);

elseif senal_entrada(i)<-umbral
senal_salida(i)=-umbral+pendiente*(senal_entrada(i)+umbral);
end

end

% Grabamos nuestra señal procesada, en un archivo .wav
wavwrite(senal_salida,fs,uiputfile('*wav','Guardar como'));
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

problemas comando function

Publicado por Gerardo (95 intervenciones) el 15/07/2012 23:01:11
Hola!

Seguramente no lo estas definiendo como debe ser

1
2
function sum = suma(a,b)
sum = a + b;


EJECUCION

>> suma(2,3)
ans =
5

>> sum = suma(2,3)
sum =
5

si por otro lado no quieres hacer eso, podrias agregarle al final del codigo lo siguiente:
display(senal_salida)

Saludos!
Gerardo.
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