| 查看: 4391 | 回复: 1 | |||
[求助]
matlab用ode15数值计算微分代数方程(DAE)的问题 已有1人参与
|
|
代码如下:前四行都是会用到的参数,odefun中有3个微分方程与1个代数方程 lamdap=975e-9;lamdas=1064e-9;t=1e-3;ap=2100e-27;ep=2200e-27;A=2.826e-7; R1=0.6;as=5e-27;es=331e-27;alfap=8e-3;alfal=6e-3;tp=0.8e-3;N=2.1e28;R2=1; h=6.626e-34;c=3e8;vp=c/lamdap;vs=c/lamdas;ts=0.8e-3;Pp0=0.2; Pssat=h*vs*A/(t*tp*(es+as));Ppsat=h*vp*A/(t*tp*(ep+ap)); odefun=@(z,y)[-((N-y(4))*ap-y(4)*ep)*tp*y(1)-alfap*y(1); (y(4)*ep-(N-y(4))*ap*y(2)-alfal*y(2)); (y(4)*ep-(N-y(4))*ap*y(3)-alfal*y(3)); ((tp*y(1)*ap/(Ppsat*(ap+ep))+((y(2)+y(3))*as)/Pssat*(as+es))/(y(1)/Ppsat+1+(y(2)+y(3))/Pssat))-y(4)/N];%微分与代数方程组 M=[1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 0];%质量矩阵 options=odeset('mass',M);%对于DAE问题,mass属性必须设置 y0=[1;0;0.1;N];%初值 [z,y]=ode15s(odefun,[0:0.01:0.2],y0,options); figure('numbertitle','off','name','DAE demo—by Matlabsky') plot(z,y,'*') legend('y1(z)','y2(z)','y3(z)','y4(z)') 用matlab运行后程序没有错误,但是出现了如下的情况: 警告: 矩阵为奇异值、接近奇异值或缩放错误。结果可能不准确。RCOND = NaN。 > In ode15s at 589 In Untitled4 at 13 警告: 在 t=0.000000e+00 处失败。在时间 t 处,若不将步长降至允许的最小值(7.905050e-323)以下,积分公差要求无法满足。 > In ode15s at 668 In Untitled4 at 13 问题就出在ode15ss那里。方程是肯定有解的,不知道是不是因为很多参数的值很大的原因。 |
» 猜你喜欢
深圳大学2026年秋博士招生-物理学-活性胶体方向-高永祥课题组
已经有18人回复
论物质与能量的统一模型及物理现象解释
已经有0人回复
物理学I论文润色/翻译怎么收费?
已经有201人回复
基于基元I统一理论的数学相关应用推导
已经有0人回复
基元I统一理论:宇宙本质、层级演化与修炼文明的本源规律
已经有1人回复
基元I理论下三大核心空间现象精准推导与细节解析
已经有0人回复
基于基元 I 统一理论的反重力理论推导
已经有0人回复
基于基元I统一理论的量子力学本源推导
已经有1人回复
推荐一款可以AI辅助写作的Latex编辑器SmartLatexEditor,超级好用,AI润色,全免费
已经有20人回复
【EI|Scopus 双检索】第六届智能机器人系统国际会议(ISoIRS 2026)
已经有0人回复
2026年第四届电动车与车辆工程国际会议(CEVVE 2026)
已经有0人回复
512095518
专家顾问 (正式写手)
-

专家经验: +52 - 应助: 118 (高中生)
- 金币: 7665.4
- 红花: 78
- 帖子: 712
- 在线: 186.1小时
- 虫号: 3195576
- 注册: 2014-05-10
- 性别: GG
- 专业: 大气环境与全球气候变化
- 管辖: 计算模拟

2楼2017-01-09 11:02:18













回复此楼