Vector size error or Polyfit

2 ビュー (過去 30 日間)
Don
Don 2015 年 10 月 24 日
編集済み: Don 2015 年 10 月 26 日
Am trying to detrend some ECG data using polyfit(). Error message is that X and Y vectors not the same size. But they are, I think:
Workspace:
ChannelFirst 1x92672 double t 92672x1 double
Here’s the code:
t = (1:length(ChannelFirst))';
subplot(2,1,1) plot(t,ChannelFirst), grid title 'ECG Signals with Trends', ylabel 'Voltage (mV)'
subplot(2,1,2) plot(t,ChannelFirst), grid xlabel Sample, ylabel 'Voltage (mV)'
Code works fine to this point. Plot looks correct. However,
opol = 6;
[p,s,mu] = polyfit(t,ChannelFirst,opol);
Error using polyfit (line 47) X and Y vectors must be the same size.
t and ChannelFirst appear to be the same size
can someone please help ? are t and Channelfirst not the X and Y vectors for polyfit?

採用された回答

Walter Roberson
Walter Roberson 2015 年 10 月 24 日
[p,s,mu] = polyfit(t.',ChannelFirst,opol);
or
[p,s,mu] = polyfit(t,ChannelFirst.',opol);
One of your vectors is a row vector and the other is a column vector. You need to have them the same orientation.
  1 件のコメント
Don
Don 2015 年 10 月 26 日
編集済み: Don 2015 年 10 月 26 日
Thank you very much. I could not find that clue in Polyfit() documentation, so took the tutorial code a face value (t' used there) When changed to t it works like a charm. Karma!

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeECG / EKG についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by