m=[];
for i=100:9999;
n=[floor(i/1000),floor(mod(i,1000)/100),floor(mod(i,100)/10),mod(i,10)];%%%分离出千百十个位,组成矩阵
if floor(i/1000)==0;
if sum(n.^(length(n)-1))==i;
m=[m,i];
end
else
if sum(n.^(length(n)))==i;
m=[m,i];
end
end
end
m
要用循环吧,不过你的条件不是很清楚。能不能说清楚一些?应该不难的