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

2 ビュー (過去 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 件のコメント
Dyuman Joshi
Dyuman Joshi 2023 年 5 月 23 日
For each x, there will be 5 corresponding y values. How do you want to plot that?
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


回答 (1 件)

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]).';
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.


Help Center および File Exchange2-D and 3-D Plots についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by