Creating FRF with Multi Degree of Freedom System

16 次查看(过去 30 天)
Hi,
I have 50*8 Amplitude vs Rotor Speed Data and also 50*8 Frequency vs Rotor Speed Data. 50 means the rotor speed limit.
8 means that degree of freedom is eight.
I don't know how can I create FRF for my case. Can you give me some suggestions.

回答(1 个)

SOUMNATH PAUL
SOUMNATH PAUL 2024-1-17
Hi,
As per my understanding you have two sets of data matrices, each matrix is 50*8 which means you have data for 50 different rotor speeds and for each rotor speed there are 8 different degrees of freedom.
Since you have 8 degrees of freedom, we need to create 8 FRFs.
Firstly, we need to load the csv data set in the MATLAB workspace. You can go through this page to understand how to load csv data in the workspace: https://in.mathworks.com/help/matlab/ref/readmatrix.html
After the data is loaded, we need to create a script which loops through each degree of freedom and for each one plot the amplitude vs frequency data.
% Assuming your data is loaded into two variables: amplitudeData and frequencyData
% Each of these variables is a 50x8 matrix.
% Predefine the figure window size
figure('Units', 'normalized', 'Position', [0.1, 0.1, 0.8, 0.8]);
% Loop through each degree of freedom
for dof = 1:8
% Extract the data for the current degree of freedom
amplitude = amplitudeData(:, dof);
frequency = frequencyData(:, dof);
% Create a subplot for each degree of freedom
subplot(2, 4, dof);
% Plot the FRF for the current degree of freedom
plot(frequency, amplitude, 'LineWidth', 1.5);
% Label the axes
xlabel('Frequency (Hz)');
ylabel('Amplitude');
% Add a title to the plot
title(['FRF - DOF ' num2str(dof)]);
% Optionally, add grid and set axis limits
grid on;
xlim([min(frequency), max(frequency)]);
% Automatic y-axis limits can be set with 'ylim auto'
% If you prefer manual limits, replace 'auto' with [ymin ymax]
ylim('auto');
end
% Adjust subplot spacing
subplot_adjustment = 0.04;
subplots = get(gcf, 'Children');
set(subplots, 'Position', get(subplots, 'Position') + [-subplot_adjustment, -subplot_adjustment, subplot_adjustment*2, subplot_adjustment*2]);
% Add a super title to the entire figure
sgtitle('Frequency Response Functions for 8 Degrees of Freedom');
Hope it helps!
Regards,
Soumnath

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

标签

产品


版本

R2014b

Community Treasure Hunt

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

Start Hunting!

Translated by