array slicing in Matlab

Hello everyone,
I tried to slice my data from the from position where threshold is crossed to end of window using Python and I worked but when I tried to write it in matlab, Unfortnetly I encountred some errors.
Python code:
for i in pos:
if i < data.shape[0] - (SW+1):
Waveform = data[i:i+SW*2]
Matlab code:
for i=1:length(pos)
if i < (data - SW+1);
WF = data(i,i+ SW*2);
end

3 Comments

for i=1:length(pos)
if i < (data - SW+1);
WF = data(i:i+ SW*2);
end
Looks like a set of parens is missing also:
(data - (SW+1))
You sent me email, but my reply was rejected by gmail ??

Sign in to comment.

Answers (1)

Hi,
MATLAB Version of the code would be
sizeOfData = size(data)
for i=1:length(pos)
if i < (sizeOfData(1) - (SW+1)); %% use size function to get the size of the matrix
WF = data(i:i+ SW*2);
end
size function returns a vector of number of elements in the row and column.

Products

Release

R2021a

Asked:

on 6 Jan 2022

Commented:

on 2 Feb 2022

Community Treasure Hunt

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

Start Hunting!