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

2 Ansichten (letzte 30 Tage)
Jeremy
Jeremy am 15 Okt. 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!

Akzeptierte Antwort

Matt Fig
Matt Fig am 15 Okt. 2012
Bearbeitet: Matt Fig am 15 Okt. 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 Kommentare
Jeremy
Jeremy am 15 Okt. 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 am 15 Okt. 2012
No worries! Glad you got it fixed. I am also glad you didn't do that on purpose!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by