Filter löschen
Filter löschen

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

4 Ansichten (letzte 30 Tage)
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.

Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 21 Jun. 2018
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 Kommentare
Neha Sinha
Neha Sinha am 25 Jun. 2018
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 am 25 Jun. 2018
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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by