Shifted Schwefel 問題関数の等高線をプロットしようとしていますが、このエラーが発生し続けます: Z はサイズ 2x2 以上である必要があります。このフォーラムと私が少し助けた情報を検索しましたが、上記のエラーを修正できませんでした。このフォーラムから得た情報により、次のコードを試すことになりました。
min = -50;
max = 50;
steps = 20;
c = linspace(min, max, steps); % Create the mesh
[x, y] = meshgrid(c, c); % Create the grid
%o=-50+100*rand(1,2);
%c = c - repmat(o,1,10);
for I=1:length(x)
for J=1:length(y)
o=-50+100*rand(1,2);
x=x-repmat(o,20,10);
f = max(abs(x), [], 2);
end
end
figure,
contour(x,y,f);
figure,
surfc(x, y,f);
今、私は、fの値が少なくとも2x2以上であるzというエラーがあります。f が入力を 1 つしか受け取らないため、出力も 1 つだけであることはわかっています。ネストされたforループで試してみましたが、少なくとも2x2の行列ではないベクトルの配列が得られました。入力が 2 の場合、問題はありませんが、問題は入力が 1 つであることです。等高線のzをプロットできるように、この「f」出力を少なくとも2x2の行列にする方法を知っている人はいますか?