"Error not enough input arguments "
6 ビュー (過去 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!