忽然发现,以前对这段matlab理解有误:
lambda = [10^(-5), 0.5*10^(-4), 10^(-4), 0.5*10^(-3), 10^(-2), 0.5;...
10^(-5), 0.5*10^(-4), 10^(-4), 0.5*10^(-3), 10^(-2), 0.5;...
10^(-5), 0.5*10^(-4), 10^(-4), 0.5*10^(-3), 10^(-2), 0.5;...
10^(-5), 0.5*10^(-4), 10^(-4), 0.5*10^(-3), 10^(-2), 0.5;...
10^(-5), 0.5*10^(-4), 10^(-4), 0.5*10^(-3), 10^(-2), 0.5;];
mask = [ 0 0 0 0 0 1
0 1 0 0 0 0
0 1 0 0 0 0
0 0 0 0 0 1
0 0 0 0 1 0];
我以前以为:
lambda(logical(mask)) = [0.5
0.5e-4
0.5e-4
0.5
0.01];
但真正的情况是:
lambda(logical(mask)) = [0.5e-4
0.5e-4
0.01
0.5
0.5];
这个和matlab的存储方式有关,自己需时刻谨记啊