How can I fix this problem

2 次查看(过去 30 天)
Hi everyone, can anyone help me about this program I'm newbie to matlab. I need to plot variable X vs I but when i run this, my matlab gone error and closed. Thank You.
  2 个评论
KSSV
KSSV 2018-5-17
编辑:KSSV 2018-5-17
What are you trying to do? You are trying to find roots for the polynomial of degree 12004..... :|
Leonardus Risky
Leonardus Risky 2018-5-17
No, i need to find the roots of every function F, and the function F is depend on X is a range from 0 to 12000 and the other variable is constant. i need find every roots when I change the X so it find new roots of F. and plot only the imaginary roots Vs X. Thank You

请先登录,再进行评论。

采纳的回答

Torsten
Torsten 2018-5-17
for i = 1:numel(C)
F = [A, B, C(i), D, E];
G{i} = roots(F);
end
Best wishes
Torsten.
  4 个评论
Leonardus Risky
Leonardus Risky 2018-5-17
编辑:Leonardus Risky 2018-5-17
i need to take only the imaginary parts every roots for every X variable Vs X (spin speed). so the plot is there will be 4 line of the imaginary parts in the y-axis and x-axis is variable X (spin speed). if you check very detail there will be only 2 imaginary number for every roots
Torsten
Torsten 2018-5-17
%data
m = 14.29;
a = 2.871;
k1 = 1.345*10^6;
k2 = 1.570*10^6;
%damping Coeff
b = 0.0002;
c1 = b*1.5*10^5;
c2 = b*3.75*10^5;
%spin speed
X = 0:1:12000;
x = X.*(pi/30);
%car eq
A = m^2;
B = m*(c1+c2);
C = (k1.*m)+(k2.*m)+(c1.*c2)+((a.^2).*(x.^2));
D = (k2*c1)+(k1*c2);
E = k1*k2;
for i = 1:numel(C)
F = [A, B, C(i), D, E];
G = roots(F);
H = abs(imag(G));
I(i,:) = H(:)/(2*pi);
end
plot(X,I(:,1),X,I(:,2),X,I(:,3),X,I(:,4))

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Test and Measurement 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by