我的代码是:
syms be k xi Ic A mu
vars=[xi A ];
for be=[0.1:0.05:1.5]
for k=[0.3:0.1:3]
for Ic=[0.1:0.04:0.3]
for mu=[0.1:0.1:1.4]
syms xi A
cond1=-mubebe0.75^5+(ximu^2be+Abebe+kIcbebe)0.75^4+(mu^2be+kmube-2Aximube)0.75^3+( xiAAbe-ximu^3-mubeA-kAbe)0.75^2+2xiAmu^20.75-ximuAA+0.07==0;
cond2=-mubebe0.5^5+(ximu^2be+Abebe+kIcbebe)0.5^4+(mu^2be+kmube-2Aximube)0.5^3+( xiAAbe-ximu^3-mubeA-kAbe)0.5^2+2xiAmu^20.5-ximuAA-0.15==0;
conds=[cond1 cond2 ];
[xi,A]=solve(conds,vars);
if (~isempty(xi))&&(~isempty(A))
for ii =[1:length(xi)]
if isreal(xi(ii))&&isreal(A(ii))
xi(ii)=vpa(xi(ii));A(ii)=vpa(A(ii));
if (xi(ii)>0)&&(xi(ii)<5)&&(A(ii)>0)&&(A(ii)<1)
b=[Ic,be,k,A(ii),mu,xi(ii)]
end
end
end
end
end
end
end
end
syms be k xi Ic A mu
vars=[xi A ];
for be=[0.1:0.05:1.5]
for k=[0.3:0.1:3]
for Ic=[0.1:0.04:0.3]
for mu=[0.1:0.1:1.4]
syms xi A
cond1=-mubebe0.75^5+(ximu^2be+Abebe+kIcbebe)0.75^4+(mu^2be+kmube-2Aximube)0.75^3+( xiAAbe-ximu^3-mubeA-kAbe)0.75^2+2xiAmu^20.75-ximuAA+0.07==0;
cond2=-mubebe0.5^5+(ximu^2be+Abebe+kIcbebe)0.5^4+(mu^2be+kmube-2Aximube)0.5^3+( xiAAbe-ximu^3-mubeA-kAbe)0.5^2+2xiAmu^20.5-ximuAA-0.15==0;
conds=[cond1 cond2 ];
[xi,A]=solve(conds,vars);
if (~isempty(xi))&&(~isempty(A))
for ii =[1:length(xi)]
if isreal(xi(ii))&&isreal(A(ii))
xi(ii)=vpa(xi(ii));A(ii)=vpa(A(ii));
if (xi(ii)>0)&&(xi(ii)<5)&&(A(ii)>0)&&(A(ii)<1)
b=[Ic,be,k,A(ii),mu,xi(ii)]
end
end
end
end
end
end
end
end
我以前研究过声学方面的问题,会涉及到复数的处理,不知道你是做哪个领域?你上面判断完是否是复数后,跳出去又判断xi大于0小于5同时A的模大于0小于1,表示如果有两个复数,他们的模满足条件,就会输出。