Not getting the expected size matrix from evaluating a function handle that is equal to zero
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Nilay Modi
am 29 Mär. 2024
Kommentiert: Nilay Modi
am 29 Mär. 2024
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 Kommentare
Akzeptierte Antwort
Leonardo
am 29 Mär. 2024
h = @(x,y) zeros(size(x));
[X, Y] = meshgrid(linspace(0, 2, 10));
Z = h(X,Y)
surf(X,Y,Z)
0 Kommentare
Weitere Antworten (2)
VBBV
am 29 Mär. 2024
h = @(x,y) zeros(10)
[X, Y] = meshgrid(linspace(0, 2, 10));
Z = h(X,Y)
11 Kommentare
Torsten
am 29 Mär. 2024
Define
g = @(x,y,m,n) zeros(m,n)
in the script part
and use it as
Z = g(X,Y,size(X,1),size(X,2))
in your function.
Don't overcomplicate things - your code looks complicated enough.
Steven Lord
am 29 Mär. 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 Kommentare
Siehe auch
Kategorien
Mehr zu Graphics Objects finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!