循环里 M=subs(M);%虽然你准备为方程改变系数,但是并没有成功!
下面是我在你基础上改的,比你的略微经济点
clc
clear
pl=974.728;
pg=1.205 ;
ul=1.005*10^-3 ;
delta=0.06667 ;
g=9.8 ;
Qg=15 ;
D0=[0.1:0.1:5].*10^-5;
Re=pl./(9*pi.*D0*ul).*10^-8.*Qg;
CD=24.*(1+0.15.*Re.^0.687)./Re;
a=1/6*pi*g*(pl-pg);
aa=a.*ones(1,50);
b=pg*10^-16./(324*pi.*D0.^2).*Qg^2-pi.*D0.*delta;
c=(Qg^2*10^-16)/(648*pi)*((pg+11/16*pl)/6+CD*pl);
syms x y
N=length(D0);Db=[];
i=1
while i
y=aa(i)*x^5+b(i)*x^2-c(i);
y=subs(y);
y=vpa(y,5);
xx=solve(y,'x');
Db=[Db xx];
i=i+1;
end
% plot(D0,Db(1,)%画不出来变化规律,因为解多为复数,