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 CenterFile Exchange에서 Bartlett에 대해 자세히 알아보기

제품


릴리스

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by