I want to envelope the damped curve with an exponential function passing through the peak points. Can someone please help?

6 ビュー (過去 30 日間)
X = A1(exp(-alpha*t)).*cos(wd*t)+ A2*(exp(-alpha*t)).*sin(wd*t)* is the equation of the damped curve.
The parameters are t=0:0.000050:0.1; A1 = 12.87701558; A2 = -12.70012814; alpha = 67.91641; wd = 4770.680551
The equation of the enveloping curve is I = Io * exp(-67.91641*t)
where Io is the peak values of the damped curve
I am attaching the image of damped curve as well as its enveloping curve through peak points.

採用された回答

Ameer Hamza
Ameer Hamza 2018 年 6 月 21 日
Since it is a second-order system, the envelop parameter Io can be analytically expressed as a function of A1 and A2. The following function follows from the trigonometric identities.
Io = sqrt(A1^2+A2^2);
Try the following code,
t=0:0.000050:0.1;
A1 = 12.87701558;
A2 = -12.70012814;
alpha = 67.91641;
wd = 4770.680551;
X = A1*(exp(-alpha*t)).*cos(wd*t)+ A2*(exp(-alpha*t)).*sin(wd*t);
Io = sqrt(A1^2+A2^2);
I = Io * exp(-67.91641*t);
plot(X);
hold on;
plot(I, 'Color', 'r')
plot(-I, 'Color', 'r')
  6 件のコメント
Neha Sinha
Neha Sinha 2018 年 6 月 25 日
envelop = @(parameter, t) parameter(1)*exp(-parameter(2)*tPeak);
envelopErrorFcn = @(parameter) sum(abs((envelop(parameter, t) - peakValues)));
solution = fmincon(envelopErrorFcn, [0 0], [], []);
plot(t, i, tPeak, envelop(solution, tPeak), 'r-+', tPeak, -envelop(solution, tPeak), 'r-+')
Can you please explain me what's parameter here and how are these codes working?
Ameer Hamza
Ameer Hamza 2018 年 6 月 25 日
The line
envelop = @(parameter, t) parameter(1)*exp(-parameter(2)*tPeak);
define the equation you want the data to fit. The parameters are the constant values of your model. Compare it with your equation of I to see what are parameter(1) and parameter(2).
The next line defines an error function,
envelopErrorFcn = @(parameter) sum(abs((envelop(parameter, t) - peakValues)));
We want such values of parameters which minimize the difference between predicted and actual values. In the next step, we can use a numerical optimizer (fmincon) to find the values of parameter.

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDescriptive Statistics についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by