Arrays 二维数组排序条件
我有一个2d数组,它由Arrays 二维数组排序条件,arrays,matlab,Arrays,Matlab,我有一个2d数组,它由 )。点(i)y轴坐标的第一行 )。点(i)x轴坐标的第二行 )。我 让我们考虑下面的 a(1,:)=[1,2,3,4,10,11,12,13,19,20,21,22]; a(2,:)=[4,1,3,2,4,3,1,2,3,2,4,1]; a(3,:)=[1,2,3,4,5,6,7,8,9,10,11,12]; 根据上面的数组“a”,它表明它根据第一列(根据y坐标)短路 但在我的例子中,我想用以下步骤对它们进行排序 确定y坐标的两个连续值之间的差值(a(a,:)的值
让我们考虑下面的
a(1,:)=[1,2,3,4,10,11,12,13,19,20,21,22];
a(2,:)=[4,1,3,2,4,3,1,2,3,2,4,1];
a(3,:)=[1,2,3,4,5,6,7,8,9,10,11,12];
根据上面的数组“a”,它表明它根据第一列(根据y坐标)短路
但在我的例子中,我想用以下步骤对它们进行排序
- 确定y坐标的两个连续值之间的差值(a(a,:)的值)快速变化且
- 对那些相对于x坐标(a(2,:)快速变化的值进行排序
让我们考虑下面的
a(1,:)=[1,2,3,4,10,11,12,13,19,20,21,22];
a(2,:)=[4,1,3,2,4,3,1,2,3,2,4,1];
a(3,:)=[1,2,3,4,5,6,7,8,9,10,11,12];
a=
这里第4行表示两个连续y坐标(a(1,:)之间的差
有第五个值表示快速变化,所以我要考虑前4个值集,并分析X和Y坐标W.R.T x坐标(A(2,))< /P> 以同样的方式对整个数组和下面的数组表示了预期的结果
a= 附注: 不应更改第三列的值 快速变化不是像上面那样在同一时期内得到的,它是变化的。(在我的例子中,它发生在每4个值之后) 快速变化不是每时每刻都是6(如果值大于3,则溶液应方便)- 有人能帮我把这个编码吗*
- 我对你想要什么有点困惑。此代码将数组分组为块,在块中它们仅按正常量(由变量normalchange指定)进行更改。它将生成一个单元数组,其中每个单元都是一组相似的元素。在这种情况下,正常变化为1,然后得到三组
让我知道这是否有帮助
a(1,:)=[1,2,3,4,10,11,12,13,19,20,21,22];
a(2,:)=[4,1,3,2,4,3,1,2,3,2,4,1];
a(3,:)=[1,2,3,4,5,6,7,8,9,10,11,12];
interestedmembers=0;
thingtoanalyse={};
startOfMembers=1;
normalchange = 1;
for i=2:size(a,2)
if a(1,i)-a(1,i-1) > normalchange
thingtoanalyse{end+1}=a(:,startOfMembers:startOfMembers+...
interestedmembers);
interestedmembers=0;
startOfMembers = i-1;
end
interestedmembers = interestedmembers+1;
end
% catch everything after the last jump and classify as interesting.
thingtoanalyse{end+1} = a(:,startOfMembers:end);
有人能帮我编码吗?这一个能帮我,当然价格合适。一般来说,最好的做法是提前付款,或者添加自己的代码,以表明您已经为解决此问题付出了努力。无论哪种方式都会吸引这里的人。你多次提到“快速变化”。这是模棱两可的,请确切地说出你的意思。
a(1,:)=[1,2,3,4,10,11,12,13,19,20,21,22];
a(2,:)=[4,1,3,2,4,3,1,2,3,2,4,1];
a(3,:)=[1,2,3,4,5,6,7,8,9,10,11,12];
interestedmembers=0;
thingtoanalyse={};
startOfMembers=1;
normalchange = 1;
for i=2:size(a,2)
if a(1,i)-a(1,i-1) > normalchange
thingtoanalyse{end+1}=a(:,startOfMembers:startOfMembers+...
interestedmembers);
interestedmembers=0;
startOfMembers = i-1;
end
interestedmembers = interestedmembers+1;
end
% catch everything after the last jump and classify as interesting.
thingtoanalyse{end+1} = a(:,startOfMembers:end);