xy+y^5+3=0 My input is real x, from this implicit equation y will have both real and imag values for each x I want to plot a 3 D plot where z will represent imag y. Pleasehelp

1 次查看(过去 30 天)
Basically I want to plot a 3 D graph in which x axis will represent input values of x,, yaxis will represent real values of y and z axis wil represent imaginary values of y. As output Y will have both real and imaginary values
  2 个评论
Torsten
Torsten 2023-5-23
编辑:Torsten 2023-5-23
You'll get 5 solutions for y given a value for x. Maybe 4 of these solutions for y have real and imaginary parts different from 0.
E.g. for x = x1 you may get
y1 = c1
y2 = c2r + 1i*c2i
y3 = c2r - 1i*c2i
y4 = c3r + 1i*c3i
y5 = c3r - 1i*c3i
where the c's are real numbers.
I can't understand what you want to plot here.
Dyuman Joshi
Dyuman Joshi 2023-5-23
For each x, there will be 5 corresponding y values. How do you want to plot that?
x=rand;
roots([1 0 0 0 x 3])
ans =
1.0278 + 0.7884i 1.0278 - 0.7884i -0.4376 + 1.1503i -0.4376 - 1.1503i -1.1805 + 0.0000i

请先登录,再进行评论。

采纳的回答

John D'Errico
John D'Errico 2023-5-23
编辑:John D'Errico 2023-5-23
Simple enough. Just do exactly what you asked. Remember the roots of a 5th degree polynomial will in general have no algebraic solution, so we need to call roots.
I used a loop here, since roots is not vectorized, and although I could have written more sophisticated code that would do it all in one line, the code would be impossible to read.
nx = 100;
x = linspace(-10,10,nx)';
ysol = zeros(nx,5);
for n = 1:nx;
ysol(n,:) = roots([1 0 0 0 x(n) 3]).';
end
plot3(repmat(x,1,5),real(ysol),imag(ysol),'.')
grid on
box on
The color changes along those curves represents where two roots essentially switched branches. Remember that roots does not know in which order to return the roots, so we can see some confusion in the plot.
  5 个评论

请先登录,再进行评论。

更多回答(0 个)

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by