How can I use a data file as input to a function?

4 vues (au cours des 30 derniers jours)
Jeremy
Jeremy le 15 Oct 2012
I am trying to write a function that will allow me to input a .dat file, which will then be read as the input for the function.
The code I have tried using is:
function beam_analysis(obj)
clear all
fid=fopen(obj,'r');
Title=fgets(fid);
Where the command would be:
beam_analysis('input.dat')
This is returning the error:
??? Reference to a cleared variable obj.
Error in ==> beam_analysis at 4
fid=fopen(obj,'r');
Is there a better way to go about this? FYI - the input file is just a bunch of tables, in case you know of a better way of inputting this data. Thanks!

Réponse acceptée

Matt Fig
Matt Fig le 15 Oct 2012
Modifié(e) : Matt Fig le 15 Oct 2012
Why oh why would you put a 'clear all' as the first line of a function?? Functions have their own workspace, so the only variables they see are those you pass in and those created inside the function....
Calling 'clear' inside a function is completely unnecessary and, as you can see, troublesome. Remove this line and you will be on your way.
  2 commentaires
Jeremy
Jeremy le 15 Oct 2012
Wow, I feel foolish. That was leftover from when this was a script file (trying to convert it to a function) and I totally wasn't paying attention. That fixed the problem, thanks!
Matt Fig
Matt Fig le 15 Oct 2012
No worries! Glad you got it fixed. I am also glad you didn't do that on purpose!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by