Not getting the expected size matrix from evaluating a function handle that is equal to zero
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
h = @(x,y) 0
[X, Y] = meshgrid(linspace(0, 2, 10));
Z = h(X,Y);
X and Y are 10 x 10.
I am expecting Z to be zeros matrix of 10x10. But I am getting Z to be a 0 of 1x1.
Why?
0 Commenti
Risposta accettata
Leonardo
il 29 Mar 2024
h = @(x,y) zeros(size(x));
[X, Y] = meshgrid(linspace(0, 2, 10));
Z = h(X,Y)
surf(X,Y,Z)
0 Commenti
Più risposte (2)
Steven Lord
il 29 Mar 2024
I am expecting Z to be zeros matrix of 10x10. But I am getting Z to be a 0 of 1x1.
Why?
Because that's what you told your function to return.
Based on your later comment, you don't want your function to return a 1-by-1 or even a fixed 10-by-10. You want it to return a zeros matrix the same size as the input. Correct?
f = @(X, Y) zeros(size(X));
X = ones(4)
f(X, X)
Y = ones(5, 8)
f(Y, Y)
Z = 42
f(Z, Z)
0 Commenti
Vedere anche
Categorie
Scopri di più su Graphics Objects 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!