绘制Shubert函数图形x = -100110;y = -100110;XY = meshgridxy;Z = zerossizeX;for i=1sizeX1 for j=1sizeX2 Zij = shubertXijYij; endendfigure;surfXYZ; 绘制Shubert函数的二维图形x = -100110;y = shubertx;zerossi
在第8行代码中,shubert函数的定义为:
function z = shubert(x) n = size(x, 2); s1 = 0; for i=1:n s2 = 0; for j=1:5 s2 = s2 + j*cos((j+1)x(i)+j); end s1 = s1 + s2; end z = s1 + 186.7309n; end
因此,在第8行代码中,需要将shubert([X(i,j),Y(i,j)])修改为shubert([X(i,j);Y(i,j)]),即将输入变量改为一个列向量形式,而不是行向量形式。修改后的代码如下:
for i=1:size(X,1) for j=1:size(X,2) Z(i,j) = shubert([X(i,j);Y(i,j)]); end end
原文地址: http://www.cveoy.top/t/topic/cdcs 著作权归作者所有。请勿转载和采集!