я хочу, чтобы минимизировать эту функцию:fminsearch с векторными входами
function [GCV2]=GCV(y,x,k)
[n, p]=size(x);
A=(x'*x+k*eye(p));
A=A\x';
A=x*A;
I_mat=eye(n);
num2=(I_mat-A);
num2=num2*y;
num2=norm(num2);
num2=num2^2;
num2=num2/n;
%(norm((I_mat-A)*y)^2)/n;
den2=(I_mat-A);
den2=trace(den2);
den2=den2/n;
den2=den2^2;
GCV2=num2/den2;
end
x
и y
значения 13-по-4) и 13 на 1 массивы, соответственно, и эти значения уже определены в рабочей области Matlab. Я хочу оптимизировать значение k
, чтобы минимизировать значение функции GCV
.
Параметр, оптимизированный так же, как и выходной, является скалярным, поэтому должно быть уместно fminsearch
.
Но я не могу заставить его работать?
Я пробовал несколько методов, последние из которых:
k_min = fminsearch(@GCV,(x;y;0));
??? k_min = fminsearch(@GCV,(x;y;0));
|
Error: Unbalanced or unexpected parenthesis or bracket.
Что я делаю неправильно?