0

この機能を最小限に抑えたい:

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.

私は何を間違っていますか?

4

2 に答える 2