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

2 次查看(过去 30 天)
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 个评论
Bill Tubbs
Bill Tubbs 2020-7-6
编辑:Bill Tubbs 2020-7-6
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 2020-7-6
numel(formula(F)) % will avoid confusions ;)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Assumptions 的更多信息

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by