Generate n-dimensional array: problem with 1D
1 次查看(过去 30 天)
显示 更早的评论
Hi all,
Imagine I'd like to generate random dimensional zeros matrix, I can do:
K>> zeros(2, 2)
ans =
0 0
0 0
K>> zeros(2, 2, 2)
ans(:,:,1) =
0 0
0 0
ans(:,:,2) =
0 0
0 0
and so on. However, for 1D case, I'll have to use:
K>> zeros(2, 1)
ans =
0
0
I cannot use zeros(2) directly, meaning I have to deal with 1D case separately. Any idea how to make it smarter?
0 个评论
采纳的回答
Star Strider
2017-11-8
That is as ‘smart’ as it gets, since it cannot read your mind. If you already have a vector and you want a zeros vector to match it, you can use the size of the original vector (or any dimension array) to create it:
x = 1:2;
v = zeros(size(x));
2 个评论
Star Strider
2017-11-8
That is the default behaviour of the zeros function. You can always write your own single-argument function to create a column vector of zero elements:
myzeros = @(n) zeros(n,1);
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!