Substitute symbolic matrices into numerical matrices
2 ビュー (過去 30 日間)
古いコメントを表示
Let's say I am solving a linear system of Equations of the form: Ax=b at each timestep. Matrix A always always has the same structure, for instance A = [a b c; -a 2b c-d; -d 2c a]. During each timestep iteration I update the values of a, b, c ,d, but the structure of A (and of b) remains the same in terms of those symbols. Is there a way to construct a symbolic matrix and then just substitute the symbols with their updated values at each timestep rather than reconstruct the whole A matrix (and b vector) at each timestep?
Many thanks!
0 件のコメント
回答 (1 件)
Torsten
2022 年 9 月 25 日
編集済み: Torsten
2022 年 9 月 25 日
Do you know Cramer's rule ?
A = sym('A',[3 3]);
b = sym('b',[3 1]);
x = sym('x',[3 1]);
sol = solve(A*x==b,x)
And now please don't tell me that in reality, your matrix A is 50x50 :-)
2 件のコメント
Torsten
2022 年 9 月 25 日
And for such a matrix size, you use symbolic maths ? You will have much time to drink your coffee ...
Use numerical matrices and backslash without any structural analysis of the matrix:
A = rand(100);
b = rand(100,1);
x = A\b
参考
カテゴリ
Help Center および File Exchange で Symbolic Math Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!