Symbolische Brüche auswerten, ohne den symbolischen Variablen in MATLAB Werte zuzuweisen?

447
Asinine

Ich arbeite mit ein paar Matrizen und versuche die Ergebnisse mit symbolischen Begriffen zu vereinfachen. Der subs()Befehl funktioniert nicht, da den Variablen keine Werte zugewiesen sind. Aber es ist unangenehm, damit zu arbeiten:

(5592405333333333*u11)/4194304 - (5592405333333333*u9)/4194304 

(1977213867171907*2^(1/2)*u5)/4194304 + (1977213867171907*2^(1/2)*u6)/4194304 - (1977213867171907*2^(1/2)*u9)/4194304 - (1977213867171907*2^(1/2)*u10)/4194304 

Die uWerte sind symbolisch. Das erste Semester zu bewerten (5592405333333333*u11)/4194304, ist sehr nahe, mit 1,333,333,333*u11dem ich arbeiten kann.

Gibt es einen Befehl, um die Division so auszuführen, dass sie ein wenig aufgeräumt wird?

0

1 Antwort auf die Frage

1
Sardar_Usama

Der Befehl, den Sie suchen, ist vpa. Ein Beispiel:

syms u11; expr =(5592405333333333*u11)/4194304; %fraction res1 = vpa(expr); %it'll evaluate expr to at least 32 significant digits res2 = vpa(expr,5); %it'll evaluate expr to at least 5 significant digits res3 = vpa(expr,9); %it'll evaluate expr to at least 9 significant digits 

Ausgabe:

res1 = 1333333333.3333332538604736328125*u11  res2 = 1.3333e9*u11  res3 =  1333333333.0*u11