Change the function calling name instead of rename the file

4 views (last 30 days)
I have a script where I call, several times, a function called FCN in its code. I'm testing different functions for my problem. But for each one I want to test I must rename that file to FCN.m so it is called correctly by the script.
Let's say I want to keep the files named as FCN1.m, FCN2.m, FCN3.m, ..., but in my script (Main.m) I would like that I type somewhere the name of the file with the function I want to test and when i call y = FCN(x,z) it will understand which of the files I`m testing.
Thanks

Accepted Answer

Cedric
Cedric on 27 Jan 2013
Edited: Cedric on 27 Jan 2013
Anonymous function (look for them in the help, and/or for function handles) at the top of your test script:
FCN = @(x,z) FCN1(x,z) ;
and then calling FCN() will call FCN1..

More Answers (1)

Image Analyst
Image Analyst on 27 Jan 2013
Edited: Image Analyst on 27 Jan 2013
Make main.m a function, not a script. Put a function in main.m (or it could be a separate m-file) that simply calls the desired version of FNC, so then you only need to make the change in one place:
function main()
y= FCN(42, pi);
function y= FCN(x, z)
y = FCN3(x, z); % Just need to change this one line in main.m.

Tags

Community Treasure Hunt

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

Start Hunting!