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
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])
回答 (1 件)
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.
0 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!