How to read elements from a computed matrix without define a new variable?

2 ビュー (過去 30 日間)
Yize Wang
Yize Wang 2019 年 5 月 10 日
編集済み: Stephen23 2019 年 5 月 10 日
Dear all,
I am having a question about matrix computation. For example, a matrix A is calculated by an expression, . I am only interested in the element . Simply I can do and . I am wondering whether there is a way to do this without defining A. This line of code is not legal in MATLAB but it shows my goal clearly, .
Thanks!
  7 件のコメント
gonzalo Mier
gonzalo Mier 2019 年 5 月 10 日
Yize Wang, this is the easiest way and fastest to do it as I know. If you are concern about legibility, you can encapsulate this piece of code in a function called get_1_comp_system or some cool name (I'm not good at all naming).
Stephen23
Stephen23 2019 年 5 月 10 日
編集済み: Stephen23 2019 年 5 月 10 日
"Eeeeeemmmm, Torsten... this equation is true always..."
Except that you did not take into account the matrix exponential shown in the original question.

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

採用された回答

Stephen23
Stephen23 2019 年 5 月 10 日
編集済み: Stephen23 2019 年 5 月 10 日
MATLAB does not allow indexing into the results of operations. You can either use a temporary variable (which is probably the most efficient solution), or you could call subsref directly:
>> B = rand(3);
>> C = rand(3);
>> D = rand(3);
>> a = subsref(expm(B*C+D),substruct('()',{1,1}))
a = 8.6593
>> A = expm(B*C+D) % for comparison:
A =
8.6593 7.3898 6.2134
13.1945 16.0237 11.6736
13.1316 13.8705 11.8273

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

製品


リリース

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by