忽然发现,以前对这段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的存储方式有关,自己需时刻谨记啊
本文深入探讨了在Matlab环境中,如何正确理解和应用逻辑运算符进行矩阵元素的选择性赋值,避免常见错误并提高编程效率。

3189

被折叠的 条评论
为什么被折叠?



