how to deal with this error??

1 次查看(过去 30 天)
Good mind
Good mind 2017-6-3
编辑: Good mind 2017-6-3
Error using -
Matrix dimensions must agree.
E=ecg-y;
ecg is 2000x1 and y is 1x2000

回答(1 个)

Guillaume
Guillaume 2017-6-3
The fact you're getting an error shows that you're using an older version of matlab. In R2016b and later, there would have been no error (but the result may not have been what you've wanted).
If the result is supposed to be a 2000 x 2000 matrix of the difference of the cartesian pairs from the two vectors:
E = bsxfun(@minus, ecg, y);
This is the result you'd get from newer versions of matlab.
If the result is suppose to be the difference of the two vectors regardless of their shape, then first you need to take a good look at your code and ask why aren't these two vectors both row vectors or both column vectors. The best way to solve your problem would be to change whatever created one of them so they're both the same shape. Alternatively,
E = ecg - y.';
But really fix your algorithm. These vectors should not be in different directions.
  1 个评论
Good mind
Good mind 2017-6-3
编辑:Good mind 2017-6-3
y is obtained after wiener filtering of ecg signal

请先登录,再进行评论。

标签

Community Treasure Hunt

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

Start Hunting!

Translated by