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

6 visualizaciones (últimos 30 días)
Jeremy
Jeremy el 15 de Oct. de 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!

Respuesta aceptada

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

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by