How do I make an output variable from a sub-routine function a variable in the main function/script? I have a function that reads data from a .txt file (data for output variable) and I want that data in my main file. Is there something I'm missing?

5 次查看(过去 30 天)
function [ Output ] = readData(inputvariable= opened .txt file)
data = fscanf( opened.txt, '%f', 4);
return
end

回答(1 个)

Star Strider
Star Strider 2015-7-26
Without knowing more than you stated in your Question, I would code it (passing the argument) as :
function [ data ] = readData(inputvariable)
data = fscanf( inputvariable, '%f', 4);
return
end
Your ‘inputvariable’ argument is the file identification (’fid’) number of the file you already opened.
I would pass the filename and let the function open, read, and close the file, but you may have your own reasons for passing the file id to your function instead.
  2 个评论
Michael Polewski
Michael Polewski 2015-7-26
yes, I need to create several functions to read from one file, I'm just trying to get the data I read into the main file. I'm trying to find out how to get the local variable from the function into the main script without setting the data as a global variable. This is my first time using matlab, so I apologize if there is a simple function that allows me to do this.
Star Strider
Star Strider 2015-7-26
You don’t need to set ‘data’ as a global variable. Just create it as an output (returned value) from your function, do not overwrite it in any subsequent assignments, and use it wherever you want.

请先登录,再进行评论。

产品

Community Treasure Hunt

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

Start Hunting!

Translated by