Slow matrix computations with symbolic variables
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I'm trying to do matrix calculations with symbolic coefficients (the matrices themselves are not symbolic). However, even just adding and multiplying matrices is taking a tremendously long time. For example:
x = sym['x', [1 3]];
A = rand(1000);
B = rand(1000);
C = rand(1000);
x(1)*A + x(2)*B + x(3)*C
takes at least half an hour (I cancelled the computation at that point). Throwing in matrix multiiplication makes the problem even worse. I can understand why things like diagonalizing matrices with symbolic variables would take a long time, but I don't see why something like this should take so long. Can someone explain what the issue is, and maybe offer some advice?
As a side note, the only reason I'm writing functions with symbolic variables is so that I can analytically take derivatives of it. So while I could do something like
f = function F(x)
f = x(1)*A + x(2)*B + x(3)*C;
end
,I couldn't analytically take derivatives of the function (the actual function I'm working with is much longer and messier).
0 commentaires
Réponses (0)
Voir également
Catégories
En savoir plus sur Symbolic Math Toolbox dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!