matlab解微分方程

学习 时间:2026-04-01 10:29:24 阅读:9852
matlab解微分方程dydt=(cot(alfa)+tan(glma)*R)/(y*(R-y*tan(alfa)))*(K_ab*K*((P_a^(n-1))/(P_t^n))*Vc*y*sigma+K_ad*exp(a*T)*Vc*sigma+K_di*sqrt(Vc*y)*exp(-K_Q/(T+273)));alfa=15*pi/180;glma=15*pi/180;R=0.8;K_ab=0.0295;K_ad=1.4761E-14;a=9.0313E-4;K_di=5.7204E6;T=800;sigma=3E8;K=0.416;n=7;P_a=1800;P_t=1600;Vc=50/60;K_Q=20460;左边为dy/dt结果能表示成y关于t的函数最好了,或者画成(y-t)图像

最佳回答

细腻的金鱼

温柔的朋友

2026-04-01 10:29:24

    这个方程是解不出解析解的。    我用ODE45给您算了一下。    先赋个初值y(0)=10000编写m文件function f=exam2fun (t,y)f=3。9464/(y*(0。8-y*0。2679))*(3。8873e3*y+7。6004e-006+0。0299*sqrt(0。8333*y));f=f(:);再在主窗口输入[t,y]=ode45('exam2fun',[0:1:1000],10000)plot(t,y)可以求得0到1000内的y(t)最后有一部分为虚数,若增大初值,虚数分界线变大得到的图像如图,最后一部分虚数没有显示。您可以选择自己的初值,然后选择范围求解并画图。

最新回答共有2条回答

  • 自信的龙猫
    回复
    2026-04-01 10:29:24

        这个方程是解不出解析解的。    我用ODE45给您算了一下。    先赋个初值y(0)=10000编写m文件function f=exam2fun (t,y)f=3。9464/(y*(0。8-y*0。2679))*(3。8873e3*y+7。6004e-006+0。0299*sqrt(0。8333*y));f=f(:);再在主窗口输入[t,y]=ode45('exam2fun',[0:1:1000],10000)plot(t,y)可以求得0到1000内的y(t)最后有一部分为虚数,若增大初值,虚数分界线变大得到的图像如图,最后一部分虚数没有显示。您可以选择自己的初值,然后选择范围求解并画图。

上一篇 一道化学计算题,高一必修一的

下一篇 为什么经过净水器净化的水烧开后有白色漂浮物