Roots of a polynomial with variables

19 次查看(过去 30 天)
For some problems, we have to to study some notions of stablility and zero polynomials in two variables, my que'stion how we can find the roots or zero polynomials in two variables. for example:
P(x,y)=3*xy -5y^2+7*x^2y
or a nother polynom

回答(2 个)

Sulaymon Eshkabilov
One of the viable ways to solve such polynomial type equations is to setp up the solution space within which you are seeking the roots to compute and solve them using fzero(). E.g.:
x=linspace(-2,2): % Choose the necessary solution space
for t=1:100
EQ= @(y)(3*x(t)*y-5*y.^2+7*(x(t)^2)*y);
y_roots = fzero(EQ,0);
end
  1 个评论
Lewis Fer
Lewis Fer 2021-6-15
but this method in reality doesn't making a difference to search and find th pole of some matrices like transfer function in two dimensional case

请先登录,再进行评论。


Paul
Paul 2021-6-15
Don't know the scope of the actual problems of interest, but for the two examples in the question:
syms x y
sol = solve(3*x*y - 5*y^2 + 7*x^2*y == 0,[x y],'ReturnConditions',true);
[sol.x sol.y sol.conditions]
ans = 
syms z1 z2
sol = solve(1 - z1*z2 - 1/2*z1^2 - 1/2*z2^2 + z1^2*z2^2 == 0,[z1 z2],'ReturnConditions',true);
[sol.z1 sol.z2 sol.conditions]
ans = 
  5 个评论
Paul
Paul 2021-6-15
Apparently there are many solutions to this problem, i.e., many pairs (p,s) that make the determinant equal to zero. The pair (p,s) can be expressed as ( (z+2)/(z-4) , z) for z any number not equal to four. Check
A = [1 2;3 4];
p = @(z)((z+2)./(z-4));
s = @(z)(z);
z = 1;
det(diag([p(z) s(z)]) - A)
ans = -3.3307e-16
z = 8;
det(diag([p(z) s(z)]) - A)
ans = 0
z = 1 + 1i;
det(diag([p(z) s(z)]) - A)
ans = -1.3323e-15 + 3.3307e-16i
Lewis Fer
Lewis Fer 2021-6-16
thank', Paul for your answers your idea help me for my work.

请先登录,再进行评论。

类别

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

产品


版本

R2015a

Community Treasure Hunt

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

Start Hunting!

Translated by