フィルターのクリア

Estimating the period and the damping of the system

3 ビュー (過去 30 日間)
Obsidian
Obsidian 2021 年 7 月 19 日
コメント済み: Obsidian 2021 年 7 月 19 日
Hello,
I am new with MatLab. I want to Estimate the period and the damping of the system from a set of data using three values of j cycles:
j = 10 cycles, 20 cycles, 30 cycles
For each case c.I, c.II, and c.III I am supposed to use different starting peak (i.e., moving window of peaks) and calculate the median value of damping ratio and natural period for each case C.I, C.II, and C.III. and also tabulate the results.
Does anyone have a suggestion about how to approad this problem?
I appreciate the help!
I used following code to extract and plot data and I am stuck on how to find period and damping:
code:
clc; clear all; close all
load Vibration_Data.txt
acc = Vibration_Data(:,2);
dt = 0.02;
time = (0:numel(acc)-1) * dt;
plot (time,acc,'b-');
findpeaks(acc,time)
peaks=findpeaks(acc,time)
period=time(peaks)-time(peaks(0:size(peaks)-1))
error:
last line: array indices must be positive integers or logical values.
  2 件のコメント
Sameer Pujari
Sameer Pujari 2021 年 7 月 19 日
編集済み: Sameer Pujari 2021 年 7 月 19 日
As per my understanding, you are trying to calculate period(s) between two peaks.
You could use numel(peaks) or length(peaks) to find number of elements in the peaks array.
Then use for loop to generate an array of period.
for i=1:length(peaks)-1
period(i)=time(i+1)-time(i)
end
In matlab, Array indexing starts from index '1'. index '0' is not valid. So, you might be getting the error
Obsidian
Obsidian 2021 年 7 月 19 日
Thanks! it worked.

サインインしてコメントする。

回答 (1 件)

Simon Chan
Simon Chan 2021 年 7 月 19 日
This line will give an error:
period=time(peaks)-time(peaks(0:size(peaks)-1))
So just try the following:
period=time(peaks)-time(peaks-1)
  1 件のコメント
Obsidian
Obsidian 2021 年 7 月 19 日
still gives me the same error.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeSpectral Measurements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by