matlab 如何提取数组的下标!?
2个回答
展开全部
直接利用find函数,举个例子:
rng('default')
A=rand(3,5)
A =
0.7060
0.0462 0.6948 0.0344
0.7655
0.0318
0.0971 0.3171 0.4387
0.7952
0.2769
0.8235 0.9502 0.3816
0.1869
L=A>=0.5;
find(L)
ans =
1
6
7
9
13
14
rng('default')
A=rand(3,5)
A =
0.7060
0.0462 0.6948 0.0344
0.7655
0.0318
0.0971 0.3171 0.4387
0.7952
0.2769
0.8235 0.9502 0.3816
0.1869
L=A>=0.5;
find(L)
ans =
1
6
7
9
13
14
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果这n个二维数组维数相等,那就简单,做一个数组的数组allS
把这n个数据都做成数组,当成行放进去,取的时候计算一下行就行了,但是必须sn都是同维数矩阵.
s1 = [1,2;3,4];
allS = [s1];
s2=[5,6;7,8];
allS = [allS; s2];
s3 = [9,10;11,12];
allS = [allS; s3];
取s2,这样,先根据2计算行下标,
(2-1)*size(s2,1)+1:2*size(s2,1)
列全取就是:
allS((2-1)*size(s2,1)+1:2*size(s2,1), :);
==============
同理,去sn就是
allS((n-1)*size(sn,1)+1:n*size(sn,1), :);
把这n个数据都做成数组,当成行放进去,取的时候计算一下行就行了,但是必须sn都是同维数矩阵.
s1 = [1,2;3,4];
allS = [s1];
s2=[5,6;7,8];
allS = [allS; s2];
s3 = [9,10;11,12];
allS = [allS; s3];
取s2,这样,先根据2计算行下标,
(2-1)*size(s2,1)+1:2*size(s2,1)
列全取就是:
allS((2-1)*size(s2,1)+1:2*size(s2,1), :);
==============
同理,去sn就是
allS((n-1)*size(sn,1)+1:n*size(sn,1), :);
追问
比如说一个二维数组[1,2,3;4,5,6;7,8,9]
怎么得出他们的下标!?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询