![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/751619/image.jpeg)
My frequency plot isn't showing anything
11 ビュー (過去 30 日間)
古いコメントを表示
This program is used to hopefully find the natural frequency of torsional vibration in a shaft containing 11 rotating masses, using my take on Holzer's method (or Holzer's Table) by calculating where the residual torque of the last rotating member on the shaft is 0 under a certain frequency.
I need to plot w or w^2 (frequency) against the residual torque S(11) (sum of the torques evaluated up to J(11)), for different values of "w", but the program doesn't seem to solve "S(11)" for different "w" as there are only 11 values of "S" (S(1) to S(11),) for 1000 values of "w". Is there a way to evaluate S(11) for all w? Sorry I'm not really good in matlab.
clear all
%Parameters [Inertia (kgm^2) and Flexibility (rad/Nm)]
J(1) = 10350;
J(2) = 9668;
J(3) = 9668;
J(4) = 9668;
J(5) = 9668;
J(6) = 9668;
J(7) = 9668;
J(8) = 2525;
J(9) = 20190;
J(10)= 399;
J(11)= 51800;
E(1)= 0.6560*10^-9;
E(2)= 0.8140*10^-9;
E(3)= 0.8020*10^-9;
E(4)= 0.8300*10^-9;
E(5)= 0.8050*10^-9;
E(6)= 0.7670*10^-9;
E(7)= 0.5680*10^-9;
E(8)= 0.3650*10^-9;
E(9)= 40.680*10^-9;
E(10)= 9.927*10^-9;
E(11)= 0; %not necessary
for i=1:1000
w(i)= 0.2*(i-1);
a(1) = 1; %Amplitude (assume)
T(1) = J(1)*a(1)*(w(i)^2); %Torque
S(1) = T(1); %Residual Torque on 1st member
for n=2:11 %Members 2 to 11
a(n) = a(n-1) - (J(n-1)*E(n-1)*a(n-1)*w(i)^2);
T(n) = J(n)*a(n)*w(i)^2;
S(n) = S(n-1) + T(n);
a(n) = a(n-1) - S(n-1)*E(n-1); %a(n) = (sum of preceding res torques)*Flexibility
end
end
plot (w,S(11));
xlabel('Frequency (Rad/s)');
ylabel('Residual Torque');
0 件のコメント
採用された回答
Simon Chan
2021 年 9 月 28 日
The idexing for frequency and residual torque, variable w and S starts from 1 to 1000 and from 2 to 11 resepctively.
So I think the indexing is incorrect.
Try to revise the indexing as follows:
for i=1:1000
w(i)= 0.2*(i-1);
a(1,i) = 1; %Amplitude (assume)
T(1,i) = J(1)*a(1,i)*(w(i)^2); %Torque
S(1,i) = T(1,i); %Residual Torque on 1st member
for n=2:11 %Members 2 to 11
a(n,i) = a(n-1,i) - (J(n-1)*E(n-1)*a(n-1,i)*w(i)^2);
T(n,i) = J(n)*a(n,i)*w(i)^2;
S(n,i) = S(n-1,i) + T(n,i);
a(n,i) = a(n-1,i) - S(n-1,i)*E(n-1); %a(n) = (sum of preceding res torques)*Flexibility
end
end
plot (w,S(11,:));
xlabel('Frequency (Rad/s)');
ylabel('Residual Torque');
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/751619/image.jpeg)
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Acoustics, Noise and Vibration についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!