Se comincio con la seguente espressione simbolica:Fattorizza espressione simbolica (piazza di una somma) in MATLAB
a^2 + 2*a*b + b^2
Poi gestita simplify
(o factor
), ottengo il risultato atteso:
>> simplify(a^2 + 2*a*b + b^2)
(a + b)^2
Ora quando eseguo lo stesso esempio, ma aggiungo un altro termine, non si verifica alcuna fattorizzazione:
>> simplify(a^2 + 2*a*b + b^2 + 1)
a^2 + 2*a*b + b^2 + 1
Come posso ottenere queste funzioni per restituire la versione più pratica di questa espressione ((a + b)^2 + 1
)? Ho provato tutte le opzioni ovvie con queste funzioni (come 'Steps'
, 'IgnoreAnalyticConstraints'
, ecc.) Ma senza successo.
Contesto: ho l'espressione ax^2 - 2*ax*bx + bx^2 + ay^2 - 2*ay*by + by^2
che ho bisogno di convertire nuovamente dentro (ax - bx)^2 + (ay - by)^2
in modo che possa poi essere trattata correttamente come r^2
. So che potrei usare alcune regole di sostituzione smussate, ma per qualcosa di così semplice mi sento come se mi mancasse un'ovvia soluzione 'non-hacking'.
si utilizza Mathematica invece ... – bla
Penso che la libreria simbolica Matlab sia un po 'limitata. I calcoli simbolici non sono la forza più grande di Matlab. – patrik
Passa a 'R' e usa' Ryacas'. Non ho trovato nessuno strumento per chiamare 'yacas' da Matlab. –