How to replace multiple values with the same value in a cell array?
조회 수: 8 (최근 30일)
이전 댓글 표시
I would like to replace multiple values with the same value in a cell array.
% retrieve a vector with logical values
index = contains(oversikt.Jernbanen, '395');
% find the indexes of the index vector where the logical values = 1
index2 = find(index == 1);
% replace all the values. / the error: "Expected one output from a curly brace or dot indexing expression, but there were 12 results."
oversikt.Jernbanen{1,index2} = '0';
댓글 수: 4
채택된 답변
Stephen23
2020년 9월 3일
편집: Stephen23
2020년 9월 3일
The RHS must be a scalar cell.
The LHS must use parentheses, because you are replacing cells (not accessing their contents).
oversikt.Jernbanen(1,index) = {'0'};
Remember:
- () parentheses refer to the cells themselves
- {} curly braces refer to the cell contents.
댓글 수: 4
Stephen23
2020년 9월 3일
편집: Stephen23
2020년 9월 3일
"... {} these are for accessing cell contents"
Correct.
"So parentheses are for replacing ..."
Parenthese are not just "for replacing". Parentheses refer to the elements (i.e. cells) of a cell array. You can use them for many things, e.g. getting a sub-array of a cell array, assigning new cells, etc., exactly like you can use parenthesis indexing with any other array class.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!