我想繪製一個使用等值線圖的球函數,但我不斷收到以下錯誤。Matlab中球函數等高線圖輸入錯誤
??? Error using ==> Z must be size 2x2 or greater.
錯誤是在這行代碼:
contour(X1, X2, Z);
這裏是球面函數:
function ph = sphere(x)
ph = sum(x.*x, 2);
end
下面是一個使用輪廓曲線圖繪製球體的代碼:
min = -25;
max = 25;
h = 25;
c= linspace(min, max, h); % Create the mesh
[X1, X2] = meshgrid(c, c); % Create the grid
Z = sphere(X1,X2);
figure;
icontour(X1, X2, Z);
我期待Z回來至少有一個2x2矩陣。 Z應該是球體的高度,X1是x軸,X2是y軸。
如何消除錯誤?
你已經定義了你的函數帶1個參數,但你傳遞了2 ... –
這就是函數應該如何定義的。如果我通過一個,比如說 z = sphere(X1),我仍然有這個錯誤: 「Z必須是2x2或更大的尺寸」。 – user2179716
@OliCharlesworth,應該如何定義函數。如果我通過一個,說z =球體(X1),我仍然有這個錯誤:「Z必須是2×2或更大的尺寸 – user2179716