>> K=[6,31,221;31,221,1801;221,1801,15665]
K =
6 31 221
31 221 1801
221 1801 15665
>> f=[31;197;1543]
f =
31
197
1543
>> lambda=inv(K)*f
lambda =
2.1413
0.5472
0.0054
我甚至使用K \ f选项。但它给出了相同的结果。但这不对吗?正确的答案应该是lambda = 2.1728 0.6070 -0.0102
答案 0 :(得分:3)
因此,让我们检查它的MATLAB是否知道如何进行矩阵运算。如果是lambda = inv(K)*f
,那么K*lambda = f
。这是对的吗?
lambda = K\f
lambda =
2.1413
0.54725
0.005374
K*lambda
ans =
31
197
1543
如果我们假设lambda = [2.1728; 0.6070; -0.0102]
是正确的,那么让我们看看我们得到了什么:
f = K*lambda
f =
29.6
183.13
1413.6
我会把我的钱放在MATLAB上是正确的。
答案 1 :(得分:2)
我想我得到了这个!
为了得到另一个(错误的)答案,我认为你做到了:
>> K=[6,31,221;31,221,1801;221,1801,15665];
>> inv(K)
ans =
1.5647 -0.6276 0.0501
-0.6276 0.3235 -0.0283
0.0501 -0.0283 0.0026
>> iK=[ 1.5647 -0.6276 0.0501;
-0.6276 0.3235 -0.0283;
0.0501 -0.0283 0.0026];
>> f=[31;197;1543];
>> iK*f
ans =
2.1728
0.6070
-0.0102
这不起作用,因为当你手动复制inv(K)的值时,你没有采用matlab计算的精确值(这不是完全相同但足够接近),而是取了显示的值,所以只有4位精度!
答案 2 :(得分:1)