Servus,
folgendes Problem:
Ich habe Beschleunigungswerte mit Hilfe der FFT-Funktion in die jeweiligen Ordnungen zerlegt. In den Diagrammen sieht man dann die jeweiligen Amplituden der Ordnungen. Wie kann ich jetzt die Werte der Amplituden für jede Ordnung in Zahlenwerten auslesen lassen, am besten in Variablen A1,A2,...usw.
[code]% Das ist mein Programm
clear
%Beschleunigung des Mittelbolzens in X-Richtung ausgeben
dateipfad = 'Kinematische Berechnung.xlsx';
sheet = 3;
xlRange1 = 'G8:G152';
xlRange2 = 'A8:A152'
ax = xlsread(dateipfad, sheet, xlRange1);
t = xlsread(dateipfad, sheet, xlRange2);
fig = figure(1);
subplot(2,1,1);
plot(t,ax);
title('Beschleunigung Ax des Mittelbolzens C');
xlabel('Zeit (s)');
ylabel('Beschleunigung Ax (m/s²)');
%Beschleunigung des Mittelbolzens in Y-Richtung ausgeben
dateipfad = 'Kinematische Berechnung.xlsx';
sheet = 3;
xlRange1 = 'H8:H152';
%xlRange2 = 'A8:A152'
ay = xlsread(dateipfad, sheet, xlRange1);
%t = xlsread(dateipfad, sheet, xlRange2);
subplot(2,1,2);
plot(t,ay);
title('Beschleunigung Ay des Mittelbolzens C');
xlabel('Zeit (s)');
ylabel('Beschleunigung Ay (m/s²)');
%Fourierzerlegung mit der FFT-Funktion
fa = 144 %Abtastfrequenz = 1 / Abtastperiode = 1 / (t(2)-t(1)) (Beispiel)
N1 = length(ax);
Fft_Analyse1 = fft(ax, N1)/N1;
X = 2*abs(Fft_Analyse1(1:N1/2+1));
N2 = length(ay);
Fft_Analyse2 = fft(ay, N2)/N2;
Y = 2*abs(Fft_Analyse2(1:N2/2+1));
fig = figure(fig + 1);
Ordnungen1 = 0:0.5:(size(X,1))/2-0.5;
subplot(2,1,1);
plot(Ordnungen1, X, 'rx', 'LineWidth', 2.0)
title('Anregungsordnungen')
xlabel('Ordnung')
ylabel('Amplitude')
axis([0 10 0 (max(X)+50)]) %in die Grafik reinzoomen, so dass nur die ersten 10 Ordnungen dargestellt werden
Ordnungen2 = 0:0.5:(size(Y,1))/2-0.5;
subplot(2,1,2);
plot(Ordnungen2, Y, 'rx', 'LineWidth', 2.0)
%title('Anregungsordnungen')
xlabel('Ordnung')
ylabel('Amplitude')
axis([0 10 0 (max(Y)+50 ...
↧