Out of these two methods, which one is computationally intensive and why?

1 visualizzazione (ultimi 30 giorni)
I have a signal, let's say A6. It has 300 sample points. There are two different methods to estimate the magnitude of the signal. I want to know which method is computationally intensive.
The steps of the first method are as followed,
Step1: A = A6 - mean(A6);
Step2: B = A .* A;
Step3: C = cumsum(B);
Step4: D = trapz(C);
D represents the magnitude of the signal in terms of area under the curve.
The steps of the second method are as followed,
Step1: A = A6 .* A6;
Step2: B = cumsum(A);
Step3: Mean Square Error (MSE) between B and fitted straight line.
The value of the MSE represents the magnitude of the signal.
Thanks,
Irtaza
  2 Commenti
James Tursa
James Tursa il 25 Dic 2017
Why don't you code both of them up and then run the profiler?
Syed Haider
Syed Haider il 25 Dic 2017
Thanks for the suggestion but I am looking for the theoretical explanation. Step4 of the first method vs. Step3 of the second method.

Accedi per commentare.

Risposta accettata

Walter Roberson
Walter Roberson il 25 Dic 2017
trapz should have a lower constant of proportion because it is sum(C) - (C(1)+C(end)) /2 whereas mse requires sqrt(sum((C-B).^2)). Both are linear in size but one requires squaring as well as sum.
  2 Commenti
Syed Haider
Syed Haider il 26 Dic 2017
Thanks Walter for the explanation. Is there a method faster than trapz to calculate the area under the curve.
Walter Roberson
Walter Roberson il 26 Dic 2017
Unless you have a formula for the curve, there would be no way to calculate the area without examining each value at least once, which is all that trapz requires.

Accedi per commentare.

Più risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by