フィルターのクリア

Solving the following equation without taking inverse.

7 ビュー (過去 30 日間)
Parikshit Pareek
Parikshit Pareek 2017 年 6 月 21 日
編集済み: Torsten 2022 年 3 月 25 日
How to solve the following equation for calculating the D:
D=|inv(B)|∗|g|
here, B is a non-singular square matrix and g is a column vector of the length equal to the no of elements in the row of B. Modules is applied element-wise.
The solution of this without taking the inverse.
  5 件のコメント
Walter Roberson
Walter Roberson 2022 年 3 月 25 日
If it were not for the part of the then with singular matrices you would typically switch to using
What is the mathematical situation that leads you to want to have the part? And would using
D = abs(pinv(B)) * abs(g)
be acceptable for your situation?
Torsten
Torsten 2022 年 3 月 25 日
編集済み: Torsten 2022 年 3 月 25 日
I also didn't read the title of the contribution and thought:
Why not simply
D = abs(inv(B))*abs(g)
?

サインインしてコメントする。

回答 (1 件)

Chunru
Chunru 2022 年 3 月 25 日
In matlab, you can solve the linear system by mldivide or \
"doc mldivide" for detailed description.
B= randn(4, 4)
B = 4×4
-0.0294 0.1957 -1.5414 -0.1266 0.2383 0.9828 0.2350 -0.1879 -0.2651 -0.7456 1.1097 0.4562 -0.7198 -0.0695 -0.1106 0.3846
g = randn(4, 1)
g = 4×1
0.3455 -0.6763 -2.1197 -1.6276
f = B \ g
f = 4×1
-3.8263 -2.1101 0.5352 -11.6193
B * f
ans = 4×1
0.3455 -0.6763 -2.1197 -1.6276
  1 件のコメント
Walter Roberson
Walter Roberson 2022 年 3 月 25 日
Notice in the original question,
Modules is applied element-wise
That is, the we see is absolute value of each element of g, and the is absolute value of each element of the inverse of B.
It is easy enough in your code to use B\abs(g) so there is no concern about the part. But the MATLAB \ operator does not take absolute value of the inverse, and there is no option to force it to.
This feels like a constrained least squares. I wonder if https://www.mathworks.com/help/matlab/ref/lsqnonneg.html can be used?

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLinear Algebra についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by