Generate n-dimensional array: problem with 1D
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Xiaohan Du
il 8 Nov 2017
Commentato: Star Strider
il 8 Nov 2017
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 Commenti
Risposta accettata
Star Strider
il 8 Nov 2017
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 Commenti
Star Strider
il 8 Nov 2017
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);
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Logical in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!