结合元素的数组

2视图(30天)
帕拉维·埃呀尔帕蒂尔
编辑: 沃斯 2022年2月18日
一个= [1 1 1 0 1 1 0 0]
A2 = [1 0 1 0]
A3 = [1 0 ?]
A4 = [0 0]
在这方面,数组1或0。数组A2是由应用和逻辑(1)和(2)。,下一个elementt A2是一个(3)和(4)等等....
数组A3是由进行“与”操作(1)和(2)和(3),下一个元素是一个(4)和(5)& (6)
创建数组A4通过进行“与”操作(1)和(2)和(3)和(4)。
我想创造这样的数组,将向量长度A像数组A8 =(1)和(2)和(3)和(4)和(5)&(6)和(7)和(8)。
我的代码是
% % % % % % % %
为A2
深圳=长度(A);
如果快速眼动(深圳,2)= = 1
d1 =重塑((1:end-1,:), 2, []);
:A2 = (d1 (1) d1 (2:) ';
结束
% % % % % % % % %
%为A3
如果(mod(深圳,3)= = 2)
d1 =重塑((1:end-2,:), 3, []);
:A3 = (d1 (1) d1 (2:) d1 (3:) ';
elseif (mod(深圳,3)= = 1)
d1 =重塑((1:end-1,:), 3, []);
:A3 = (d1 (1) d1 (2:) d1 (3:) ';
其他(mod(深圳,3)= = 0)
d1 =重塑(3 []);
:A3 = (d1 (1) d1 (2:) d1 (3:)]”
结束
% % % % % % % % % % % %
%为A4
如果快速眼动(深圳,4)= = 3
d1 =重塑((1:end-3,:), 4, []);
:A4 = (d1 (1) d1 (2:) d2 (3:) d1 (4:) ';
elseif rem(深圳,4)= = 2
d1 =重塑((1:end-2,:), 4, []);
:Yval_pred4 = (d1 (1) d1 (2:) d1 (3:) d1 (4:) ';
elseif rem(深圳,4)= = 1
d1 =重塑((1:end-1,:), 4, []);
:A4 = (d1 (1) d1 (2:) d1 (3:) d1 (4:) ';
其他的
d1 =重塑(4 []);
:A4 = (d1 (1) d1 (2:) d1 (3:) d1 (4:) ';
结束
有一种更简单的方法来做到这一点。我有很长的aray斜面divisibilty测试申请evrery数量A5, A6, A7数组等等

接受的答案

沃斯
沃斯 2022年2月18日
编辑:沃斯 2022年2月18日
一个= [1 1 1 0 1 1 0 0];
M = 2;%的元素的集合
N =元素个数(一个);
d =重塑((1:N-rem (N, M)), M, []);
new_A =所有(d, 1)
new_A =1×4逻辑数组
1 0 1 0
在一个循环中使用相同的建筑在不同的M值可以让你做一些很容易:
一个= [1 1 1 0 1 1 0 0];
N =元素个数(一个);
M = 1: N;%为例
new_A =细胞(1,元素个数(M));
m = 1:元素个数(m)
new_A {m} =所有(重塑((1:N-rem (N,米(m))),米(m), []), 1);
结束
disp (new_A);
{[1 1 1 0 1 1 0 0]}{[1 0 1 0]}{[1 0]}{[0 0]}{[0]}{[0]}{[0]}{[0]}

更多的答案(0)

类别

找到更多的在开始使用MATLAB帮助中心文件交换

标签

s manbetx 845


释放

R2021b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!