how to plot this equation
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Torsten
le 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 ?
Réponses (2)
Torsten
le 15 Sep 2022
Modifié(e) : Torsten
le 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 commentaires
Sam Chak
le 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 commentaires
Sam Chak
le 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})')
Voir également
Catégories
En savoir plus sur Stability Analysis dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!