- Use readmatrix to read in your data since it appears that you are matching rows and your data appear to be homogenous, all numeric. You'll read in the two data sets as two separate matrix variables.
- It looks like your data do not have more than 7 decimal places so roundoff error shouldn't be a problem. If it turns out that your data are more decimal places that what appears in your screenshots, you'll need to decide how you deal with precision issues that may arise. Let's cross that bridge if we come to it.
How to match array data and excel data?
조회 수: 1 (최근 30일)
이전 댓글 표시
I have array data and excel data. I want to match my array data with excel data. For example, I want array data 'I' to match with excel data 'B'. If all contents of data 'I' match all columns in a particular row of data 'B', then the output result is data 'A' in the same row as data 'B'. I will be appreciated if someone guides me. Thank you
I = [0.0673 22.8800 4.5213e+03 2.1387e+03 12.4245 0.6936 3.7715 0.0474 0.2561 16.0428 82.6339];
Data 'B'
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1235977/image.png)
Data 'A'
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1235982/image.png)
댓글 수: 5
답변 (1개)
prasanth s
2022년 12월 20일
if all data type is in array type,
the matching row positions can be obtained using
rows=all(B==I,2)
contents from 'A' obtained using
data=A(rows,:);
댓글 수: 4
Adam Danz
2022년 12월 20일
@Nilna Almumtazah, this is either because row I does not have a match in matrix B or it could be due to roundoff error as I mentioned in my initial comment under your question.
@prasanth s' answer works well for integers or for floating point decimals with low precision (few decimal places). But since it only looks for exact matches, it will not handle roundoff error gracefully.
Here's how to apply a tolerance to the comparison:
% M is the matrix
% v is the row vector
rows=all(abs(M-v)<eps(min([M(:);v(:)])),2);
data=M(rows,:);
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!