Undefined function for input arguments of type 'double'

조회 수: 363(최근 30일)
Stefania
Stefania 2014년 11월 10일
답변: Jithin Nambiar J 2021년 4월 10일
I have this set of data
x=[0:0.01:1];
y=4- 3*x + sin(x*6*pi) + rand(1,101)/8;
plot(x,y,'ko','MarkerFaceColor','k');
and want to do a fit using fminsearch
hold on
b0=[2,-2,2,5];
b=fminsearch(@(b) doamne(b,x,y), b0);
yfit= b(1)+ b(2)*x + b(3)*sin(x*pi*b(4));
plot(x,yfit, '-b')
hold off
where
function d2=doamne(b,x,y)
c2=y- (b(1)+ b(2)*x)
d2=sum(c2.^2)
but I keep getting this error: "Undefined function 'doamne' for input arguments of type 'double'." I double checked that all my files are in the working folder and that the working folder is in the path list but the error persists.

채택된 답변

Geoff Hayes
Geoff Hayes 2014년 11월 10일
Stefania - in the Command Window, type
which doamne -all
to find the path to your doamne function. Perhaps you have named the m file for this function incorrectly, and so it cannot be found.
I was able to take the doamne function and copy and paste its code into a file named doamne.m and then could run the remainder of your code without error.
  댓글 수: 5
sam Boadi
sam Boadi 2018년 8월 24일
Possibly, you are using a different function name to call another function. Check to see that the name you are using to call the function is the same as the function name. I think this should also help

댓글을 달려면 로그인하십시오.

추가 답변(1개)

Jithin Nambiar J
Jithin Nambiar J 2021년 4월 10일
It sometimes gives you this error if you don't have the right toolboxes installed for the certain function.
If a particular function is causing an error. Try typing
help functionName
If this results in like a certain toolbox is required for this function to work. Just click on the hyperlink or underlined link which is given in the terminal.
It will direct you to the appropriate package. Make sure you save any programs. Since installing the packages requires MATLAB to restart.
Cheers !!

Community Treasure Hunt

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

Start Hunting!

Translated by