problem in generate code using cftool
Show older comments
hi.i obtain mean of coloumn in matrix and curve fitting by cftool. then save generate code of it. but when I call it in the my code gives me an error message. What can I do?
% mean of matrix meanValue = mean(G);
x=1:1:47; y=meanValue; n=createFit(x,meanValue);
error is:
??? Error using ==> createFit Too many output arguments.
Error in ==> pixel at 35 n=createFit(x,meanValue);
thank you
Answers (1)
Geoff Hayes
on 22 May 2014
Check the signature of the createFit function. Does it actually return something? i.e. if the signature is just:
function createFit(x,y)
then you will get the too many output arguments error since the above code is
n=createFit(x,meanValue);
i.e. the code is trying to get the return value of a function that does not return anything. There seems to be different versions of createFit on the MATLAB FileExchange and elsewhere too, so please verify that you are using the expected/correct version. I was able to reproduce your error using the code found at http://code.google.com/p/prosilica/source/browse/trunk/MATLAB/createFit.m?r=36
15 Comments
Geoff Hayes
on 22 May 2014
What is the signature of your createFit function? Can you paste it here?
fereshte
on 22 May 2014
Geoff Hayes
on 22 May 2014
Please just paste the signature for this function as that is what is interesting….
Geoff Hayes
on 22 May 2014
Right - the function does not return anything because it's signature is:
function createFit(x,y)
yet you have tried to assign a return value from this function to n:
n=createFit(x,meanValue);
hence the error message that was the reason for you posting this question on the board here.
fereshte
on 23 May 2014
Image Analyst
on 23 May 2014
You attach the file with the paperclip icon. What you don't do is upload your file to speedyshare that makes it cumbersome for people to help you.
Did you see where Geoff implied that you should have your function return a value by changing the "function" line?
Geoff Hayes
on 23 May 2014
fereshte - that wasn't my code for you to run, it was an example of the createFit function that someone else had posted with a signature that did not return any value…which was the original problem in your question with the error createFit Too many output arguments.
If you go back to using your original code without trying to get a return (or output value) from createFit, what is happening?
fereshte
on 23 May 2014
Geoff Hayes
on 23 May 2014
It is no longer clear to me what the problem is. You had code, createFit, that doesn't return a value yet you tried to assign n to it. Or was it some other code that was calling your createFit function? If that is true, then you must provide an output/return value from your createFit function to satisfy the n in the line:
n=createFit(x,meanValue);
fereshte
on 23 May 2014
Geoff Hayes
on 23 May 2014
I think that we have covered why you were getting the error (that you posted). Is there something else that is preventing you from moving forward?
Categories
Find more on Get Started with Curve Fitting Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!