Roots of a polynomial with variables
30 次查看(过去 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
0 个评论
回答(2 个)
Sulaymon Eshkabilov
2021-6-15
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
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]
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]
5 个评论
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)
z = 8;
det(diag([p(z) s(z)]) - A)
z = 1 + 1i;
det(diag([p(z) s(z)]) - A)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Polynomials 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!