找回密码
 注册
Simdroid-非首页
查看: 53|回复: 2

高手留步,MATLAB解DAE问题

[复制链接]
发表于 2014-7-22 14:48:32 | 显示全部楼层 |阅读模式 来自 黑龙江哈尔滨




解上图方程,以下是我的求解程序


k=1.1;
n=0.8;
odefun=@(t,x)[-n*pi*x(2)^2*x(4);%t对应theta,x(1)对应V,x(2)对应R,x(3)对应z,想(4)对应dz
    -1/(tan(k*t))*x(4);
    x(4);
    x(1)*(sin(t))^3-pi/3*(x(2)^3)*((2-3*cos(t)+(cos(t))^3))];
tspan=[0.1, pi/2];
x0=[pi/3,1,1,0];
M=eye(4,4);
M(4,4)=0;
options=odeset('Mass',M);
[t,x]=ode23t(odefun,tspan,x0,options);
但总是提示
Error using daeic12 (line 77)This DAE appears to be of index greater than 1.
Error in ode23t (line 289)    [y,yp,f0,dfdy,nFE,nPD,Jfac] = daeic12(odeFcn,odeArgs,t,ICtype,Mt,y,yp0,f0,...
Error in bingye (line 12)[t,x]=ode23t(odefun,tspan,x0,options);

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2014-7-27 13:16:24 | 显示全部楼层 来自 陕西西安
Simdroid开发平台
不会matlab,用mathematica做了下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2014-7-27 13:16:44 | 显示全部楼层 来自 陕西西安
  1. t0 = 0.1; tend = Pi/2;
  2. Manipulate[
  3. {rsol, zsol, vsol} =
  4.   NDSolveValue[{r'[t] == (-z'[t])/Tan[ k t],
  5.      v'[t] == n (Pi r[t]^2 z'[t]),
  6.      v[t]/r[t]^3 == (Pi/3) ((2 - 3 Cos[t] + Cos[t]^3)/Sin[t]^3),
  7.      v[t0] == Pi/3, r[t0] == 1, z[t0] == 1}, {r, z, v}, {t, t0,
  8.      tend}] // Quiet;
  9. Plot[{rsol[t], zsol[t], vsol[t]}, {t, t0, tend},
  10.   AxesLabel -> Automatic, PlotTheme -> "Detailed",
  11.   PlotLegends -> "Expressions"], {k, 0.1, 1}, {n, 0.1, 1}]
复制代码
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-9-30 09:32 , Processed in 0.044698 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表