24小时热门版块排行榜    

查看: 806  |  回复: 0

小木虫zb

木虫 (正式写手)

[求助] 不知道matlab程序为什么错了(错误应该存在非线性方程组求解中)

求大神帮忙,我碰到个问题已经苦苦折腾了一个多月了,不知道怎么解决,matlab用线上法求偏微分方程组(对床层高度z离散,将偏微分方程组转换为常微分方程组,然后用ode15s求解),在这个方程组中,有两个参数ce1、ce2需要需要用两个隐函数方程求解带入,下面是我的程序,运行不出,不知道具体错在哪,只知道可能在隐函数方程的编程中有些错误
function DBT_MNA
clear all;clc
c10=1e-10*ones(1,20);q10=zeros(1,20);q20=zeros(1,20);c20=zeros(1,20);
y0=[q10 c10 q20 c20];c0=7.03;
options=odeset('relTol',1e-6);tspan=[0:0.2:20];
[t,y]=ode15s(@fangcheng,tspan,y0,options);
plot(t*7.03,y(:,40)/c0,'ro',t*7.03,y(:,80)/c0,'bo','LineWidth',3);xlabel('Amount of treated MDF(g-MDF/g-AC)'),ylabel('c/c0'),axis([-0.05 120 -0.05 1.05]),
legend('DBT','MNA','Location','best') ,title('DBT+MNA-RS')
grid,hold off
%------------odefun---------------------------------------------
function dydt=fangcheng(t,y)
kf=200;a=0.363;u=0.361032/a;c0=7.03;L=8.31e-2;N=20;dz=L/N;p=436.8/(1-0.363);
q1=y(1:N);c1=y(N+1:2*N);q2=y(2*N+1:3*N);c2=y(3*N+1:4*N);
%-----------定义dq/dt-----------------------------
for j=1:N
   dq1dt(j)=kf/p*(c1(j)-myfun1(q1(j),q2(j)));%两个未知参数调用其他函数求解ce1(j)=myfun1(q1(j),q2(j))
   dq2dt(j)=kf/p*(c2(j)-myfun2(q1(j),q2(j)));%两个未知参数调用其他函数求解ce2(j)=myfun2(q1(j),q2(j))
end
%---------定义dC/dt-----------------------------------
dc1dt(1)=-u*(c1(1)-c0)/dz-(1-a)/a*p*dq1dt(1);
dc2dt(1)=-u*(c2(1)-c0)/dz-(1-a)/a*p*dq2dt(1);
for j=2:N
    dc1dt(j)=-u*(c1(j)-c1(j-1))/dz-(1-a)/a*p*dq1dt(j);
    dc2dt(j)=-u*(c2(j)-c2(j-1))/dz-(1-a)/a*p*dq2dt(j);
end
dydt=[dq1dt dc1dt dq2dt dc2dt]';
%隐函数方程数值求解,隐函数方程为q1=0.45967*ce1^0.3839/(ce1^0.0457+0.3*ce2^0.0003206);
%q2=0.17356*ce2^(-1.55201)/(ce2^(-2)+0.1*ce1^(-1)),下面用x(1)表示ce1,x(2)表示ce2,上面的程序可以确定没错误,下面是可能出现错误的地方

function y1=myfun1(q1,q2)
options=optimset('MaxFunEvals',1e6);
y=fsolve(@(x)fun(x,q1,q2),[0.1,0.01],options);y1=y(1);
function y2=myfun2(q1,q2)
options=optimset('MaxFunEvals',1e6);
y=fsolve(@(x)fun(x,q1,q2),[0.1,0.01],options);y2=y(2);
function y=fun(x,q1,q2)
y(1)=q1-0.45967*x(1)^0.3839/(x(1)^0.0457+0.3*x(2)^0.0003206);
y(2)=q2-0.17356*x(2)^(-1.55201)/(x(2)^(-2)+0.1*x(1)^(-1));
上面是我编的程序,但是运行不出来,不知道错误在哪,希望好心人士帮我看下,这是我之前就该问题在小木虫上的提问http://muchong.com/bbs/viewthread.php?tid=5856359

[ Last edited by 小木虫zb on 2013-5-28 at 22:41 ]
回复此楼
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

相关版块跳转 我要订阅楼主 小木虫zb 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +31 医学老男孩 2026-08-13 70/3500 2026-08-16 08:29 by 医学老男孩
[基金申请] 时间戳又变了8-15 +12 archvillain 2026-08-15 23/1150 2026-08-15 20:47 by foyo404
[基金申请] filecode +8 cratir 2026-08-14 12/600 2026-08-15 18:08 by zyfgau
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +12 Tide man 2026-08-10 13/650 2026-08-15 16:34 by 氺木
[基金申请] 关于Filecode分析方法 +10 majunge000 2026-08-10 13/650 2026-08-15 12:26 by hanpeng972
[基金申请] 是这周出结果还是下周出结果? +4 yuleib84 2026-08-11 4/200 2026-08-14 23:05 by lfy8008
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +8 布布和一二 2026-08-10 11/550 2026-08-14 14:58 by Equinoxhua
[基金申请] 应该是93bebmhtak前后十一个字符比较关键 +23 Lanmanbaby 2026-08-09 37/1850 2026-08-14 13:40 by Equinoxhua
[硕博家园] 请教兼职经验 +3 是阿文鸭 2026-08-09 3/150 2026-08-14 12:07 by HER12025
[硕博家园] 读博的好处 +4 lnee 2026-08-11 4/200 2026-08-14 10:20 by ahsoarli
[基金申请] FileCode能看出啥? +10 要乐观耀哥 2026-08-10 32/1600 2026-08-14 09:37 by 要乐观耀哥
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +10 家与远方 2026-08-10 15/750 2026-08-14 02:08 by 绵羊哥哥
[基金申请] 静等基金结果 +8 gjjjzhong 2026-08-10 21/1050 2026-08-13 17:56 by 且听虎啸
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 分享一下我之前已中青C的计划书的filecode +4 布布和一二 2026-08-11 5/250 2026-08-13 12:56 by cratir
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
[基金申请] 帮忙看看fileCode +7 wwncly 2026-08-10 13/650 2026-08-11 19:36 by 冰心玉壶晴
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
[基金申请] 面上项目filecode邪修 +5 西山十月 2026-08-09 7/350 2026-08-10 07:32 by 仁砚薪传
信息提示
请填处理意见