matlab 找出两个矩阵元素相同的坐标
时间: 2024-12-16 11:19:09 浏览: 9
FINDIND:查找两个矩阵之间匹配元素的索引(v2.0,1 月 9 日)-matlab开发
在MATLAB中,你可以使用`ismember`函数和`find`函数来找出两个矩阵中元素相同的坐标。下面是一个简单的步骤:
1. **创建示例矩阵**:假设我们有两个矩阵`A`和`B`。
```matlab
A = [1 2 3; 4 5 6];
B = [3 5 7; 8 9 10];
```
2. **使用`ismember`检查元素是否存在**:这个函数会返回一个逻辑阵列,其中`true`表示`A`中的元素在`B`中存在,反之为`false`。
```matlab
matches = ismember(A(:), B(:)); % 将矩阵展平成向量便于比较
```
3. **找到匹配的位置**:`ismember`返回的是一个布尔矩阵,我们可以用它来索引原矩阵的行和列位置。
```matlab
match_rows = find(matches & A);
match_cols = find(matches & (vertcat(repmat(1:size(A,1), size(B,2), 1))));
```
这里`vertcat`用于合并行向量,得到每个匹配元素所在的行数。
结果`match_rows`和`match_cols`就是两个矩阵中对应元素相同的行索引和列索引。
阅读全文