I cannot see the plotted ecg signal.

3 views (last 30 days)
Pooja
Pooja on 21 Feb 2020
Commented: Walter Roberson on 25 Apr 2023
clear all
close all
x1 = load('100m.mat'); % load the ECG signal from the file
fs = 360; % Sampling rate
N = length (x1); % Signal length
t = [0:N-1]/fs; % time index
figure(1)
subplot(2,1,1)
plot(t,x1)
xlabel('second');ylabel('Volts');title('Input ECG Signal')
subplot(2,1,2)
plot(t(200:600),x1(200:600))
xlabel('second');ylabel('Volts');title('Input ECG Signal 1-3 second')
xlim([1 3])
The message that i get:
Error using plot
Invalid property found.
Object Name: line
Property Name: 'val'.
Error in Untitled6 (line 12)
plot(t,x1)
A plot window opens but there is no plotting of signal

Answers (3)

Walter Roberson
Walter Roberson on 21 Feb 2020
When you load() a mat and assign to a variable the result is a struct with one field for every variable name loaded. You need to extract the value from the struct. The evidence suggests that at least one of the field names is "val" so x1.val might be appropriate
  1 Comment
Pooja
Pooja on 21 Feb 2020
Yet it doesn't work. I'm new to Matlab and figuring it out.

Sign in to comment.


Narendra Dwivedi
Narendra Dwivedi on 26 Mar 2023
Edited: Walter Roberson on 26 Mar 2023
load 212m.mat
figure
plot(tm,ecgsig);
hold on
plot(tm,(ann),ecgsig(ann),'ro')
xlable('second')
ylable('amplitude')
title('subject -MIT-BIH 212m.mat')
qrxEx= ecgsig(4560:4810);
fb= dwtfilterbank('Wavelet','sym4','signallength');
psi= wavelets(fb);
figure
plot(grsEx)
hold on
plot(-2*circshift(psi(3,:),[0 -38]),'r')
axis tight
legend('QRS Complex','sym4 Wavelet')
title('comparison of sym4 Wavelet and QRS Complex')
hold on
  2 Comments
Narendra Dwivedi
Narendra Dwivedi on 26 Mar 2023
Error in example (line 3)
plot(tm,ecgsig);
ye error aa rhi hai kaise find kare
Walter Roberson
Walter Roberson on 26 Mar 2023
What shows up if you use
whos -file 212m.mat

Sign in to comment.


Diwakar Diwakar
Diwakar Diwakar on 25 Apr 2023
close all
x1 = load('100m.mat'); % load the ECG signal from the file
x1=(x1.val)./200;
fs = 360; % Sampling rate
N = length (x1); % Signal length
t = [0:N-1]/fs; % time index
figure(1)
subplot(2,1,1)
plot(t,x1)
xlabel('second');ylabel('Volts');title('Input ECG Signal')
subplot(2,1,2)
plot(t(200:600),x1(200:600))
xlabel('second');ylabel('Volts');title('Input ECG Signal 1-3 second')
xlim([1 3])
Need to normalize the ecg signal. please check the above code.
thanks
  1 Comment
Walter Roberson
Walter Roberson on 25 Apr 2023
This does not appear to be a solution to the Question that was asked?

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!