string matrix navigation with character string
조회 수: 1 (최근 30일)
이전 댓글 표시
Hi; for my problem, I have a string matrix (DataSour) of size 3 in columns but strong in rows; for which I look to obtain a minimized matrix (DataFind) relative to a character string (ToAssign). Then I try to find the positions of the columns (ColPos) and rows (RowPos) where the character string is positioned.
DataSour = ["Do" "Ri" "Mi"; "AA" "VV" "Fa"; "SS" "BB" "Do"; "Do" "yy" "zz"]
ToAssign = "Do"
for results I have to find the minimized matrix
DataFind =
Do -- --
-- -- Do
Do -- --
and positions of columns
ColPos =
1
3
1
and positions of rows
RowPos =
1
3
4
댓글 수: 0
답변 (2개)
Matt J
2022년 6월 17일
편집: Matt J
2022년 6월 17일
DataSour = ["Do" "Ri" "Mi"; "AA" "VV" "Fa"; "SS" "BB" "Do"; "Do" "yy" "zz"];
ToAssign = "Do";
[ColPos,RowPos]=find(DataSour'==ToAssign)
댓글 수: 4
Ferial Assmani
2022년 6월 17일
@ All ; It looks like my concern; I try to import my Excel matrix and retrieve the rows that contain the desired character string and otherwise retrieve the rows that do not contain the desired character string. Why it’s not working for me I have the R2016a version.
[~, ~, MYFile] = xlsread('MYFile.xlsx','Data','A2:D5');
MYFile(cellfun(@(x) ~isempty(x) && isnumeric(x) && isnan(x),MYFile)) = {''};
DataSour = MYFile;
ToAssign = 'DO';
When I use
[RowPos, ColPos] = find(ismember(DataSour, ToAssign))
Error using cell/ismember (line 34)
Input A of class cell and input B of class char must be cell arrays of strings, unless one is a string.
When I use
[ColPos,RowPos]=find(DataSour'==ToAssign)
Undefined operator '==' for input arguments of type 'cell'.
Walter Roberson
2022년 6월 17일
[RowPos, ColPos] = find(ismember(DataSour, ToAssign))
댓글 수: 8
Ferial Assmani
2022년 6월 19일
@Walter Roberson, plz, i got this error
Error using cell/ismember (line 34)
Input A of class cell and input B of class char must be cell arrays of strings, unless one is a string.
Walter Roberson
2022년 6월 23일
No, I mean
MYFile(cellfun(@(x) ~ischar(x), MYFile)) = {''};
참고 항목
카테고리
Help Center 및 File Exchange에서 Data Type Conversion에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!