help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: passing m-files as a function argument


From: Ben Abbott
Subject: Re: passing m-files as a function argument
Date: Fri, 22 Jan 2010 12:22:58 -0500

On Friday, January 22, 2010, at 12:09PM, "David Grundberg" <address@hidden> 
wrote:
>parigigi wrote:
>> Hi everybody,
>>
>>
>> I am currently using a commercial software that is giving me in output
>> several m-files as a results of different simulations. I would like to do
>> the same analysis on each m-files. So I want to write a function that
>> accepts a filename as an argument. Lets suppose that I want to apply
>> 'myanalysis' function on a single output m-file of this commercial software.
>> I want something that allows me to do:
>>
>> myanalysis (output_m-file_name,parameter);
>>
>> At a certain point inside this function I want to load this m-file as
>> following:
>>
>> output_m-file_name;
>>
>> ecc...
>>
>>
>> I still don't understand how to pass a m-file name as an argument. I tried
>> with quotas " ' ", without, with "@" but nothing worked... Where am I wrong?
>>
>>
>> Thanks a lot to everyone
>>   
>
>Is the output m-file a function file or a script file? If it's a script 
>file you can load it by running eval('foobar') where yopu have a script 
>file saved as foobar.m
>
>try something like
>
>function myanalysis (filename, parameter)
>  name = filename(1:end-2)
>  printf ("Running %s\n", name);
>  eval (name)
>
>  ....
>
>endfunction
>
>in a file called myanalysis.m.
>
>You should then be able to run myanalysis ('foobar.m')
>
>Note that you need to have foobar.m in the Octave search path.
>
>hth
>David

If you're calling an m-file as a function ...

function myanalysis (filename, parameter)
  myfun = str2func (filename)
  printf ("Running %s\n", filename);
  result = myfun (...)
  ....
endfunction

Ben




reply via email to

[Prev in Thread] Current Thread [Next in Thread]