matlab for循环中如何输出特定的结果与函数值?望大神赐教!

想要得到fn=0时的a,b,z,x. 想要具体的代码~
m=cell(20,5)
for a=0.7;0.1:2
for b=0.1:0.1:0.8
for z=0.1:0.1:0.7
for x=8:2:20
f=0 ,fn=0
for n=1:(x/2-1)

f=1000./(x/2-1).*(0.7-z)./((z-0.7).*(sqrt(a^2-b^2-4.*a.*sqrt(0.16-b^2/4)-1.32)./1.96)-(sqrt(0.16-b^2/4))+(sqrt(0.16-(n.*b./x)^2)))
fn=fn+f
end
if fn==0
i=i+1
cell{i,1}=a
cell{i,2}=b
cell{i,3}=z
cell{i,4}=x
cell{i,5}=fn
end

end
end
end
end

m=cell(20,5)
for a=0.7;0.1:2
for b=0.1:0.1:0.8
for z=0.1:0.1:0.7
for x=8:2:20
f=0 ,fn=0
for n=1:(x/2-1)
f=1000./(x/2-1).*(0.7-z)./((z-0.7).*(sqrt(a^2-b^2-4.*a.*sqrt(0.16-b^2/4)-1.32)./1.96)-(sqrt(0.16-b^2/4))+(sqrt(0.16-(n.*b./x)^2)))
fn=fn+f
end
if fn==0
i=i+1
m{i,1}=a; % m,不是cell
m{i,2}=b;
m{i,3}=z;
m{i,4}=x;
m{i,5}=fn;
end
end
end
end
end
m追问

这样运行出来的m每个元包都为空的 是想要得到fn=0时的那些自变量的 值 。 请问具体怎么操作?

追答

这是逻辑问题了,简单的话,发原题吧。

追问

简单的说就是关于a,b,z,x,的四重循环 ,范围如上 , fn为f求和。想要得到 fn=0时循环中对应的四个变量。但是matlab无法显示出。

追答

可能无解。
有解就在m中
建议 改 if fn==0

为: if abs(fn) <= 10^(-12)

温馨提示:内容为网友见解,仅供参考
无其他回答

matlab for循环中如何输出特定的结果与函数值?望大神赐教!
for b=0.1:0.1:0.8 for z=0.1:0.1:0.7 for x=8:2:20 f=0 ,fn=0 for n=1:(x\/2-1)f=1000.\/(x\/2-1).*(0.7-z).\/((z-0.7).*(sqrt(a^2-b^2-4.*a.*sqrt(0.16-b^2\/4)-1.32).\/1.96)-(sqrt(0.16-b^2\/4))+(sqrt(0.16-(n.*b.\/x)^2)))fn...

用matlab怎么对数据作可靠性分析??在线等!跪求大神赐教!
T = zeros(1, 10000);for n = N for i = 1:10000 T(i) = Gap(n);end G(n) = mean(T);end plot(N, G)

...大数还是小数?然后依据判断结果输出特定的数值?
输入以下公式,然后向下填充公式 =IF(A1>=5,1,0)详见附图示例

相似回答