Creating a matrix containing binary vectors as elements

Based on the dimension n, i want to create a matrix containing binary vectors:
For example with n=1:
A=[[-1],[0],[1]]'
n=2:
A=[[-1,-1],[-1,0],[-1,1],[0,-1],...,[1,1]]
n=3:
A=[[-1,-1,-1,-1],[-1,-1,-1,0],[-1,-1,-1,1],[-1,-1,0,-1],[-1,-1,0,0],...,[1,1,1,1]]'
Since the dimension is the input variable, I don't know how many while- or for-commands i need in advance.
Any suggestions?

1 个评论

It's not obvious from your question what you want to do.
How are you creating the elements of your vectors?
Is ‘A’ different for each value of n or are you dynamically creating A?
For a start, I suggest you explore creating ‘A’ as cell or perhaps structure data. They may do what you want.

请先登录,再进行评论。

 采纳的回答

N = 4;
A = zeros(3^N,N);
for k = 1:N
r = N - k;
v = [ -1*ones(3^r,1) ; zeros(3^r,1) ; ones(3^r,1) ];
A(:,k) = repmat(v,3^(k-1),1);
end

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Multidimensional Arrays 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by