Effacer les filtres
Effacer les filtres

How to get number of factors after factorizing a symbolic function?

1 vue (au cours des 30 derniers jours)
Bill Tubbs
Bill Tubbs le 6 Juil 2020
Commenté : Bill Tubbs le 6 Juil 2020
I'm using factor to factorize a symbolic polynomial.
Works well but when the result is a symbolic vector containing the factors, I'm not sure how to determine how many factors it contains. I tried using size but I get some inconsistent results:
>> G(s) = s^2 + 3*s + 2;
>> F = factor(G, s)
F(s) =
[ s + 2, s + 1]
>> size(F)
ans =
1 1
>> F = factor(G(s), s)
F =
[ s + 2, s + 1]
>> size(F)
ans =
1 2
>>
Note, the size is different in the second example. The only difference is that I used factor(G(s), s) rather than factor(G, s). What is the difference and why does the result (F) look the same but the size is not the same?
  2 commentaires
Bill Tubbs
Bill Tubbs le 6 Juil 2020
Modifié(e) : Bill Tubbs le 6 Juil 2020
Ah, I think I know what is going on. class(G) is 'symfun' whereas class(G(s)) is 'sym'.
I guess I need to decide whether to pass the function itself or the symbolic expression it returns given s.
If I only pass the function (G), how would I determine how many factors it has? I.e. the dimension of the symbolic function.
madhan ravi
madhan ravi le 6 Juil 2020
Now you don’t see Star’s answer below.

Connectez-vous pour commenter.

Réponse acceptée

madhan ravi
madhan ravi le 6 Juil 2020
numel(formula(F)) % will avoid confusions ;)
  1 commentaire
Bill Tubbs
Bill Tubbs le 6 Juil 2020
This seems to work whether F is an expression or a function. Thanks!

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by