Replacing specific rows in a matrix.

I would like to replace the cells with the following features (those whose types are 9 or 12 and their ID is one of these numbers, 2,11,12). Then I want to replace them with NaN. However, indexB is a vector of 0 s only.
indexB = ( (Type == 9|Type ==12) & (IDscript ==2|IDscript==11|IDscript==12) );
RT(indexB)=NaN;

2 Comments

Have you looked at your data to make sure you have any spots that match all of the criteria?
Yes. It does. Here is my data attached. I had to change xlsx to xls to be able to attach the file.

Sign in to comment.

 Accepted Answer

a = xlsread('Book2.xls');
indexB = (a(:, 2) == 9|a(:, 2) ==12) & (a(:, 6) ==2|a(:, 6)==11|a(:, 6)==12);
find(indexB)
This gives me 6 indices: 29, 30, 363, 364, 573 and 574.

2 Comments

Thank you. Is this different from your code? indexB = (mergedData(Type) == 9|mergedData(Type) ==12) & (mergedData(IDscript) ==2|mergedData(IDscript)==11|mergedData(IDscript)==12 ); where a is a matrix (mergedData) and (:,2) is Type? Mine does not work.
The idea is the same but is mergedData just a 748x6 double? What is the data type of "Type" and "IDscript"?

Sign in to comment.

More Answers (1)

Elaheh
Elaheh on 10 May 2018
merged file (748*6) is the content of the excel file I sent you. Ive just started using MATLAB. Type= mergedData(:,2); accuracy= mergedData(:,3); RT= mergedData(:,4); TypeScript=mergedData(:,5); IDscript= mergedData(:,6);

1 Comment

Yeah that should work. You can attach the script if it's still not working for you.

Sign in to comment.

Categories

Find more on Just for fun in Help Center and File Exchange

Asked:

on 10 May 2018

Commented:

on 10 May 2018

Community Treasure Hunt

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

Start Hunting!