0

u_i^(k) は i,k 要素を意味する MATLAB で次の式を実装したいと考えています。しかし、手動で計算した結果とは異なる結果が得られます... MATLAB コードに何か問題があると思います。たとえば、次のようになります。

L_ii =

    0.1022         0         0
         0    0.1657         0
         0         0    2.7321

U_ij =

    0.7514    0.3104    0.5823
   -0.6513    0.4901    0.5793
   -0.1055   -0.8145    0.5704

1,1=1-(0.1022*(+0.7514)^2+0.1657*(+0.3104)^2+2.7321*(+0.5823)^2)=-0.000049
2,2=1-(0.1022*(-0.6513)^2+0.1657*(+0.4901)^2+2.7321*(+0.5793)^2)=-0.000015
3,3=1-(0.1022*(-0.1055)^2+0.1657*(-0.8145)^2+2.7321*(+0.5704)^2)=+0.000030

何か案は???最初に Epsilon を修正するのを手伝ってください (Rho に移動する必要はないかもしれません。最初に Epsilon を修正しましょう...)

ここに画像の説明を入力

ここに画像の説明を入力

編集:サンプルコードは次のとおりです。

E_squared_ii = ONES_j - diag(L_ii)' * (U_ij'.^ 2)

そして、ここに私が現時点で得る間違った結果があります:

E_squared_ii =

   1.0e-15 *

   0.444089209850063   0.333066907387547  -0.222044604925031
4

1 に答える 1

1

あなたの値とコードを使用すると、期待される結果が得られます。

>> L_ii

L_ii =

    0.1022         0         0
         0    0.1657         0
         0         0    2.7321

>> U_ij

U_ij =

    0.7514    0.3104    0.5823
   -0.6513    0.4901    0.5793
   -0.1055   -0.8145    0.5704

>> ONES_j

ONES_j =

     1     1     1

>> E_squared_ii = ONES_j - diag(L_ii)' * (U_ij'.^ 2)

E_squared_ii =

   1.0e-04 *

   -0.4935   -0.1451    0.2985

おそらくこれは、何かがあなたが思っている価値ではないことを意味します...

于 2012-07-14T13:50:47.567 に答える