将x当做向量,将i、j作为用循环变量来写,不就是一劳永逸的么 类似下面的代码:你需要修改下function y = fun(x,a)num = length(x);y = 0;for i=1:num for j=1:num y=y+a(i,j)*x(i)^i*x(j)^j; endend