私のスクリプトは、いくつかの「for」ループを使用して行列と 2 つのベクトルを作成し、例として次のように返されます。
K =
1.0e+006 *
1.2409 0.6250 0.8153 0.1250
0.6250 3.6591 -0.1250 3.5375
0.8153 -0.1250 1.2409 -0.6250
0.1250 3.5375 -0.6250 3.6591
F =
1.0e+006 *
0.1733
1.3533
-0.1066
1.3371
U =
u3
v3
u4
v4
ご覧のとおり、'U'
ベクトルは変数のセットであり、 に'K*U=F'
含まれる変数について解く必要があります'U'
。
linsolve
またはを使用してそれを実行しようとするsolve
と、予期しない結果と、逆行列が特異に近いというメッセージが表示されます。
ただし、別のスクリプトを作成して同じマトリックスとベクトルを手作業で配置すると、すべて正常に機能し、何が問題なのかわかりません。
これは、MATLAB がループ関数によって作成された行列を格納する方法に何らかの関係があり、ループの後に行列の状態を何かに変更する必要がありますか?
また、マトリックスを手で配置すると、その1.0e+006
前に乗数なしで表示されます。
K11 =
1240900 625000 815300 125000
625000 3659100 -125000 3537500
815300 -125000 1240900 -625000
125000 3537500 -625000 3659100
それは関係できますか??
前もって感謝します。