matlab 循环输出每次循环计算的结果

format long
m=0.01
for b=0.01:0.01:1
for z=0.01:0.01:1
F1=@(x)(1+z.^(-2)*x.^((2-2*m)/m)).^(0.5)
c=quad(F1,0,1)
F2=@(x)(1+z.^(-2)*x.^((2-2*m)/m)).^(-0.5)
e=quad(F2,0,1)
d=(((b*(1+m)).^2+((1+m)*4)./(m*z.^(-1)))./((b*(1+m)).^2+8*(1+m)./(m*z.^(-1))).^(0.5)-b*(1+m))*c-(((b*(1+m)).^2+8*(1+m)./(m*z.^(-1))).^0.5-b*(1+m))*e
if d<0
break
end
end
end
w=b+0.5*(-b*(1+m./50)+(b.^2*(1+m./50).^2+8*(1+m./50)*(z./50)./(m./50)).^0.5)*c

用一个变量储存结果就行。
如先定义
d=zeros(1,0000);
idx = 0;
程序中加入计数的变量,for循环内部加入
idx = idx +1;
for循环内部d用d(idx)代替。
循环结束后,d = d(1:idx),这个d中就保存了计算过程中所有的计算结果(假设你要的结果是你程序中的d)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-12
ans =
121
这时出来的结果。