loops - 根据行中的某些值拆分矩阵
问题描述
我有一个A
这样的矩阵:
A = [911 911;
0 2;
8 5;
7 3;
911 911;
5 3;
1 6;
6 7;
911 911;
3 5;
8 4];
我想根据这样的行值将矩阵拆分A
为三个矩阵(A1
, A2
, ) :A3
911
A1 = [0 2; 8 5; 7 3];
A2 = [5 3; 1 6; 6 7];
A3 = [3 5; 8 4];
我需要在一个for
循环中做这件事,这将一个接一个地给出吐出的矩阵。
这是我的小代码,它将找出行位置以找出911
值:
key = 911;
headeridx = and(any(s1Table == key, 2), any(s1Table == key, 2));
row_position= find(headeridx);
然后我就纳闷了怎么做一个for
循环(我需要这个循环)来生成这三个矩阵。
解决方案
这是一种方法。
clear
A = [911 911;
0 2;
8 5;
7 3;
911 911;
5 3;
1 6;
6 7;
911 911;
3 5;
8 4];
ar=0;
n=1;
for k=1:rows(A)
if A(k,1)==911
ar=ar+1;
n=1;
else
q{ar,n}=A(k,1:2);
n=n+1;
endif
endfor
A1=cell2mat(q(1,:)')
A2=cell2mat(q(2,:)')
A3=cell2mat(q(3,:)')
推荐阅读
- java - 已弃用 Spring-Security 中的 AbstractWebSocketMessageBrokerConfigurer - 有替代方案吗?
- android - 有没有办法将“空”值从数据库写入 csv 文件?
- javascript - 将数组输出包装在大括号中并添加相关数据标签
- node.js - 如何批量更新文档页面大小以使页面大小一致?
- excel - 将工作表 1 中的 2 列与工作表 2 中的列匹配,并返回工作表 1 的第 3 列的值
- flutter - 为什么 HTTP 包在 Flutter web 中不起作用?
- scala - Spark:如何创建具有字段名称的行
- c++ - 两个类之间的交叉访问
- php - 如何在没有开发文件和文件夹的情况下创建 PHP git 项目的干净 zip 存档?
- eigen - 两个相似的位姿具有较大的相对欧拉角