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 vues (au cours des 30 derniers jours)
function [ Output ] = readData(inputvariable= opened .txt file)
data = fscanf( opened.txt, '%f', 4);
return
end

Réponses (1)

Star Strider
Star Strider le 26 Juil 2015
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 commentaires
Michael Polewski
Michael Polewski le 26 Juil 2015
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 le 26 Juil 2015
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.

Connectez-vous pour commenter.

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by