How can I use the lagrangepoly() function on the ecg data

5 ビュー (過去 30 日間)
hawk skull
hawk skull 2019 年 8 月 2 日
コメント済み: dpb 2019 年 8 月 5 日
I am trying to use lagrangepoly function on ecg data but it dosen't gives any plot and when I quit debugging, Matlab opens up ''poly.m'' file.
load noisyecg.mat;
x=noisyECG_withTrend;
t=1:length(noisyECG_withTrend)
baseline=linspace(min(t),max(t), length(t));
P = lagrangepoly(t,x);
plot(baseline,polyval(P,baseline),x,t);
  4 件のコメント
hawk skull
hawk skull 2019 年 8 月 5 日
Sir I want to compare results of cubic spline with lagrange.
By applying baseline= linspace(1,t,t) it gives an error that the number of elements should be same.
Using baseline=linspace(min(t),max(t), length(t)) just keeps the debugging on busy and when I quit the debugging, MATLAB pops up poly.m file with a green arrow on line 41 (poly.m)
dpb
dpb 2019 年 8 月 5 日
"baseline= linspace(1,t,t) it gives an error t"
Well, yes, it should. t is already a vector of 1:N where N is the length of your time series.
I was just pointing out that your definition of baseline is no different than the t vector you've already got--there's no purpose in creating two copies of the same thing. I don't follow what your thinking must be in having done so.
What is length(noisyECG_withTrend)?
Looks to me like you've probably just exceeded the limits of the length of the series poly can manage to solve
p = poly(r), where r is a vector, returns the coefficients of the polynomial
whose roots are the elements of r.
That's asking a lot if length(r) is really large as I'm guessing it probably is.
Try doing the calculation in pieces instead and see if can't manage that way (altho I still think it's a Don Quixote-type mission; I see no practical purpose in doing this).

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

回答 (0 件)

カテゴリ

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

製品


リリース

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by