Matlab 在这种情况下如何使用循环?
我有3个矩阵Matlab 在这种情况下如何使用循环?,matlab,matrix,matlab-guide,matlab-deployment,Matlab,Matrix,Matlab Guide,Matlab Deployment,我有3个矩阵 test_1=[1 2 3; 4 5 6; 7 8 9; 10 11 12; 13 14 15; 16 17 18]; test_2=[16 18 15; 6 5 8; 2 9 5; 11 19 21; 22 28 30; 14 16 19]; test_3=[11 9 7; 8 22 17; 27 31 30; 28 26 40; 66 57 36; 82 21 19]; 我想将前两行的所有元素保存为 firstrow_test_1= test_1([1; 2],:); fir
test_1=[1 2 3; 4 5 6; 7 8 9; 10 11 12; 13 14 15; 16 17 18];
test_2=[16 18 15; 6 5 8; 2 9 5; 11 19 21; 22 28 30; 14 16 19];
test_3=[11 9 7; 8 22 17; 27 31 30; 28 26 40; 66 57 36; 82 21 19];
我想将前两行的所有元素保存为
firstrow_test_1= test_1([1; 2],:);
firstrow_test_2= test_2([1; 2],:);
firstrow_test_3= test_3([1; 2],:);
这些矩阵将给出测试_1、测试_2、测试_3前两行的所有元素的结果。
然后我想取第3行和第4行的test_1、test_2和test_3,并将元素保存在另一组metrices中
secondrow_test_1= test_1([3; 4],:);
secondrow_test_2= test_2([3; 4],:);
secondrow_test_3= test_3([3; 4],:);
剩下的也一样,我必须
thirdrow_test_1= test_1([5; 6],:);
thirdrow_test_2= test_2([5; 6],:);
thirdrow_test_3= test_3([5; 6],:);
如果我这样做,那么代码将非常长。那么有没有办法用更短的方式编写代码呢?如果可能的话,有人能帮我在这种情况下使用循环吗
firstrow\u test\u 1
可通过使用A(1:2,:,1)
访问
同样地,使用
A(1:2,:,2)
等等。。我希望你有个主意
在这里,我从2D切片创建了一个3D矩阵,就像您将它们作为2D切片一样。但是您应该能够直接创建3D矩阵,并且可以应用相同的过程。您确定确实需要这样做吗?为什么需要提取这两行?您是否需要将它们传递给期望输入格式的特定函数?是的,我相信我必须这样做。我目前正在研究一种指纹打印方法,其中我使用3个接收器和一个发射器,并且我也在考虑不同的发射方向。我从一组代码中进行分析,每次我从一个文件中获得每个点的3个接收器的所有RSSI值。所以我想用这个策略来区分这些值。有办法解决吗?
%// creating multidimensional matrix from those 2D matrix
A = cat(3,test_1, test_2, test_3); %// stacking each 2D slices in 3rd dimension