how to plot this equation
2 views (last 30 days)
Show older comments
equation is
x^6+k^2*X4+k*x^2+3=0;
by varying the value of k=1:10
plot the graph between real(x) vs k
2 Comments
Torsten
on 15 Sep 2022
For each value of k, you get 6 values for x. So what do you want to plot ? Trace one x-value over the k-range ?
Answers (2)
Torsten
on 15 Sep 2022
Edited: Torsten
on 15 Sep 2022
syms x y k
f = y^3 + k^2*y^2 + k*y + 3;
s = solve(f==0,y,'Maxdegree',3);
s1 = sqrt(s);
s2 = -sqrt(s);
k = 0:0.1:10;
s11 = matlabFunction(s1(1));
s12 = matlabFunction(s1(2));
s13 = matlabFunction(s1(3));
s21 = matlabFunction(s2(1));
s22 = matlabFunction(s2(2));
s23 = matlabFunction(s2(3));
plot(k,[real(s11(k));real(s12(k));real(s13(k));real(s21(k));real(s22(k));real(s23(k))])
0 Comments
Sam Chak
on 15 Sep 2022
This only shows the propagation of the complex-valued roots of the 6th-order polynomial equation for the integer .
So, you want to extract the real part of the roots?
k = 1:10;
hold on
for j = 1:length(k)
num = 3;
den = [1 0 k(j)^2 0 k(j) 0 3];
r = rlocus(num, den, 1);
plot(r, 'o')
end
hold off
title('Root Locus Plot')
grid on, xlabel('Real axis'), ylabel('Imaginary axis')
2 Comments
Sam Chak
on 15 Sep 2022
Continuation.
Not sure if this is what you want...
k = 1:10;
hold on
for j = 1:length(k)
num = 3;
den = [1 0 k(j)^2 0 k(j) 0 3];
r = rlocus(num, den, 1);
plot(k(j), real(r), 'o')
end
hold off
grid on, xlabel('\it{k}'), ylabel('Re(\it{x})')
See Also
Categories
Find more on Stability Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!