storing data from function

16 ビュー (過去 30 日間)
Jonathan
Jonathan 2012 年 5 月 31 日
コメント済み: nazrin mokhtar 2020 年 2 月 28 日
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?
  1 件のコメント
Jonathan
Jonathan 2012 年 5 月 31 日
But when I enter [sound, freq] = wavread(file) into the command line, the variables store in the workspace.

サインインしてコメントする。

採用された回答

Oleg Komarov
Oleg Komarov 2012 年 5 月 31 日
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)
  2 件のコメント
Jonathan
Jonathan 2012 年 5 月 31 日
I tried that. sound and freq show up in the command line, but not in the workspace.
Jonathan
Jonathan 2012 年 5 月 31 日
nevermind, I had a bit of code at the very end that wasn't defined so the function wasn't finishing. Thanks for the help!

サインインしてコメントする。

その他の回答 (1 件)

Stephen
Stephen 2012 年 5 月 31 日
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 件のコメント
Jonathan
Jonathan 2012 年 5 月 31 日
nevermind, I had a bit of code at the very end that wasn't defined so the function wasn't finishing. Thanks for the help!
nazrin mokhtar
nazrin mokhtar 2020 年 2 月 28 日
i have same problem to save in workspace...can i know how to solve it

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeJust for fun についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by