|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
function程序如下:
function [y,u]=du(y,u)
syms y s t dta dtac reo pd;
s1='s^3+t*s^2/(dta^(2/3))-1=0';
t=5;
dta=200;
reo=458.29;
subs(s1); %
s1=ans;
v=solve(s1,'s');
for k=1:length(v)
idx(k) = isreal(v(k,1));
end
z=v(idx);
z
pd='((3/4)*reo)^(1/3)-t';
subs(pd); %
pd=ans;
pd
if pd>0
dtac='(1/(s^3/2))*(((3/4)*reo)^(1/3)-t)^(3/2)';
subs(dtac,s,z);
dtac=ans;
subs(dtac);
dtac=ans;
dtac
else
dtac=21;
dtac
end
eddv='-0.5+0.5*(1+0.64*y^2*(1-s^3*y/dta)^2*(1-exp((-y)/26*(1-s^3*y/dta)^(1/2)*(1-dtac/dta)))^2)^(1/2)';
dta=200;
subs(eddv);
eddv=ans;
subs(eddv,s,z);
eddv=ans;
eddv
du=(1-s^3*y/dta)/(1+eddv);
dta=200;
subs(du);
du=ans;
subs(du,s,z);
du=ans;
du
在命令窗口中输入[y,u]=ode45('du',[0 1],1)
后出现如下错误:
??? Error using ==> odearguments
Inputs to odearguments must be floats, namely single or double.
Error in ==> odearguments at 136
dataType = superiorfloat(t0,y0,f0);
Error in ==> ode45 at 173
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ...
错误信息说变量数据类型不对,我查了下数据类型,如下:
Name Size Bytes Class Attributes
ans 1x1 116 sym
dta 1x1 8 double
dtac 1x1 8 double
du 1x1 116 sym
eddv 1x1 116 sym
idx 1x3 3 logical
k 1x1 8 double
pd 1x1 8 double
reo 1x1 8 double
s 1x1 58 sym
s1 1x1 116 sym
t 1x1 8 double
v 3x1 236 sym
y 1x1 58 sym
z 1x1 116 sym
请高手指点,该怎么解决? |
|