matlab for循环中如何输出特定的结果与函数值?望大神赐教! 10
想要得到fn=0时的a,b,z,x.想要具体的代码~m=cell(20,5)fora=0.7;0.1:2forb=0.1:0.1:0.8forz=0.1:0.1:0.7f...
想要得到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
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 展开
1个回答
展开全部
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
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时的那些自变量的 值 。 请问具体怎么操作?
追答
这是逻辑问题了,简单的话,发原题吧。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询