But when I enter [sound, freq] = wavread(file) into the command line, the variables store in the workspace.
storing data from function
14 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Jonathan
il 31 Mag 2012
Commentato: nazrin mokhtar
il 28 Feb 2020
Hi,
I have this code in my function file: [sound, freq] = wavread(file) and for some reason sound and freq are not being stored in the workspace. What am I doing wrong?
Risposta accettata
Oleg Komarov
il 31 Mag 2012
If you're using wavread inside a function then you have to return them to your base workspace explicitly because the workspace of a function is kept separate.
Example, will not return sound and freq to the base workspace:
function foo(file)
[sound, freq] = wavread(file)
end
You have to declare the outputs explicitly:
function [sound, freq] = foo(file)
[sound, freq] = wavread(file)
end
and call it as
[out1,out2] = foo(file)
Più risposte (1)
Stephen
il 31 Mag 2012
So, you have:
function something
[sound, freq] = wavread(file);
end
? If so, you need to output those values like
function [sound, freq] = something
then when you call the function, it will spit out those values. Otherwise, they only exist in the temporary workspace of the function, which gets cleared out when it's done
3 Commenti
Vedere anche
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!