Replacing specific rows in a matrix.

3 Ansichten (letzte 30 Tage)
Elaheh
Elaheh am 10 Mai 2018
Kommentiert: sloppydisk am 10 Mai 2018
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 Kommentare
James Tursa
James Tursa am 10 Mai 2018
Have you looked at your data to make sure you have any spots that match all of the criteria?
Elaheh
Elaheh am 10 Mai 2018
Yes. It does. Here is my data attached. I had to change xlsx to xls to be able to attach the file.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

sloppydisk
sloppydisk am 10 Mai 2018
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 Kommentare
Elaheh
Elaheh am 10 Mai 2018
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.
sloppydisk
sloppydisk am 10 Mai 2018
The idea is the same but is mergedData just a 748x6 double? What is the data type of "Type" and "IDscript"?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Elaheh
Elaheh am 10 Mai 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 Kommentar
sloppydisk
sloppydisk am 10 Mai 2018
Yeah that should work. You can attach the script if it's still not working for you.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by