吉洪诺夫 matlab,使用三种方法求解吉洪诺夫正则化参数,为什么结果相同

问题主要是使用了三种不同的方法去求解吉洪诺夫正则化的参数,具体过程在附件,但是求解的结果不怎么对劲

%以下为L曲线验证

[L,W]=get_l(76,2);

[UU,sm,XX] = cgsvd (A_living,L);

reg_corner = l_curve (UU,sm,b_living);

x_living = tikhonov(UU,sm,XX,b_living,reg_corner);

C_living_anti1=bedroom2_livingroom*x_living*30.68/85.8;

C_bedroom1_anti1=bedroom2_bedroom1*x_living*30.68/38.22;

%以下为GCV验证,

[U,s,V] = csvd (A_living);

lambda = gcv (U,s,b_living);

x_lambda_living = tikhonov (U,s,V,b_living,lambda);

C_living_anti2=A_living*x_lambda_living;

C_bedroom1_anti2=A_bedroom1*x_lambda_living;

%以下为quasiopt验证

[L,W]=get_l(76,2);

[UU,sm,XX] = cgsvd (A_living,L);

lambda_opt_living = quasiopt (UU,sm,b_living);

x_qua_living = tikhonov(UU,sm,XX,b_living,lambda_opt_living);

C_living_anti3=A_living*x_qua_living;

C_bedroom1_anti3=A_bedroom1*x_qua_living;

为什么使用了三种不同的方法去求解中间的参数,得出的结果,关于x_living使用L曲线和使用quasiopt方法求解结果相同

另外,关于C_living_anti以及C_bedroom1_anti为什么三种结果是一样的啊,讲道理不应该有差别才对的嘛

99e39a8196ca8f63dc1eee7b0d72d0ed.gif

2018-6-26 18:20 上传

点击文件名下载附件

10.35 KB, 下载次数: 50

程序包

你可能感兴趣的:(吉洪诺夫,matlab)