"Error not enough input arguments "
1 次查看(过去 30 天)
显示 更早的评论
This is my code and I am getting error" not enough input parameters" in line 4 .Can anyone please rectify the problem ?
function[jval, gradient]= costfuntion(theta)
jval= (theta(1)-5)^2 + ...
(theta(2)-5)^2;
gradient= zeros(2,1);
gradient(1)= 2*(theta(1)-5);
gradient(2)= 2*(theta(2)-5);
options = optimset('GradObj','on', 'MaxIte', 100);
initialTheta= zeros(2,1);
[optTheta,funcval, exitFlag]= fminunc(@costfunction, initialTheta, options);
2 个评论
Aditya Verma
2020-6-13
Hi! May I know how you're trying to call this function? According to my understanding, you're trying to operate on a matrix with two elements. A possible call to this function could be:
costfuntion([10 20])
Walter Roberson
2020-6-14
The lines start from options need to be either before the function or else in a different file.
采纳的回答
KSSV
2020-6-13
I think you are running your code by using either run button or F5 button. This is a function, you cannot run like that. You need to save it in a directory on the name costfunction.m. And call it in command window.
theta = rand(1,2) ; % some random values for demo
[jval, gradient]= costfunction(theta) ;
I have checked the code, it is running fine.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!