ZKX's LAB

如何用matlab求解如下多元非线性微分方程 matlab线性微分方程求解

2020-10-01知识6

matlab求解非线性微分方程 x0=0;y0=-20;dy0=1;func=(x,y)[y(2);x-2*y(2)+0.5*x.*y(2).^2-y(2).^3];[x,y]=ode45(func,[x0 50],[y0 dy0]);plot(x,y(:,1))在x,y的初值分别为0和-20,dy/dx的初值为1,的求解

如何用matlab求解如下多元非线性微分方程 matlab线性微分方程求解

用MATLAB求解线性常微分方程 最低0.27元开通文库会员,查看完整内容>;原发布者:蓝岚岚蓝1.微分方程的概念未知的函数以及它的某些阶的导数连同自变量都由一已知方程联系在一起的方程称为微分方程。如果未知函数是一元函数,称为常微分方程。常微分方程的一般形式为如果未知函数是多元函数,成为偏微分方程。联系一些未知函数的一组微分方程组称为微分方程组。微分方程中出现的未知函数的导数的最高阶解数称为微分方程的阶。若方程中未知函数及其各阶导数都是一次的,称为线性常微分方程,一般表示为若上式中的系数均与无关,称之为常系数。2.常微分方程的解析解有些微分方程可直接通过积分求解.例如,一解常系数常微分方程可化为,两边积分可得通解7a64e58685e5aeb931333433623761为.其中为任意常数.有些常微分方程可用一些技巧,如分离变量法,积分因子法,常数变异法,降阶法等可化为可积分的方程而求得解析解.线性常微分方程的解满足叠加原理,从而他们的求解可归结为求一个特解和相应齐次微分方程的通解.一阶变系数线性微分方程总可用这一思路求得显式解。高阶线性常系数微分方程可用特征根法求得相应齐次微分方程的基本解,再用常数变异法求特解。一阶常微分方程与高阶微分方程可以互化,已给一个阶方程设。

如何用matlab求解如下多元非线性微分方程 matlab线性微分方程求解

MATLAB求解非线性高阶微分方程组方法? 参考http://zhidao.baidu.com/question/479644084.html?oldq=1回答的一样的问题,还有下面的程序function dy=odefun(t,y)y(1)xy(2)x'y(3)yy(4)y'y(5)zy(6)z'u=9.8*1;dy=zeros(6,1);dy(1)=y(2);dy(2)=-u*y(1)/sqrt(y(1)^2+y(3)^2+y(5)^2)^3;dy(3)=y(4);dy(4)=-u*y(3)/sqrt(y(1)^2+y(3)^2+y(5)^2)^3;dy(5)=y(6);dy(6)=-u*y(5)/sqrt(y(1)^2+y(3)^2+y(5)^2)^3;end命令行中tspan=[0,50];y0=[909;156;173;445;173;445];[t,y]=ode45(@odefun,[0,10],y0);注意:u=GM需要自己修改tspan为你的时间区间y(end,:),就为你50s的解。

如何用matlab求解如下多元非线性微分方程 matlab线性微分方程求解

如何用matlab解非线性微分方程 Warning:Explicit solution could not be found没有解析解

Matlab解非线性微分方程组的问题 没解析解你百肯定得用数值解。以下是步骤。第一步,在Matlab里写m-file,命名微分方程对应的函数:function f=myfun(t,x)f=[-x(1)+x(2)^2;2*x(2)+x(1)^2];这里的x(1)就是你这儿的x,x(2)就是你这儿的y。写完后自动保存,度不要对保存目录做任何修改,文件名就叫myfun.m。第二步,在Matlab命令窗口里写命令:s=[0:0.01:10];x0=[1,1];[t,x]=ode45('myfun',s,x0);plot(x(:,1),x(:,2))就完了。第一行是问在设置画图的范围,s就是答画图的区间,0.01是步长,0和10是t的起点和终点,这些你都可以自行设定(步长越小图形越精确),x0是初专始值;第二行是在解微分方程,t为自变量(注意在上一步定义属函数的时候一定要把t也定义进去,不然matlab不会认为这是个微分方程);第三行就是画相图了。方程的解就保存在变量t和x里,s里面有多少个点你就会得到多少个x和y。

MATLAB如何求解约束中含有非线性微分方程组的问题? 现在要求解如下优化问题:给定动态系统 x'=f(x,u),其中x表示n维系统状态,x'表示其微分,…

如何用matlab求解非线性微分方程组 使用符号运算工具。首先定义变量符号syms s x t;使用字符串定义公式eq1='diff(x,t)=0.11*s*x/(0.06*x+s)';eq2='diff(s,t)=(-1)*0.029*x-0.234*s/(0.006*x+s)-s/(30*s^2+300*s+0.03)';接下来是求解 比如现在要求解s,下面的代码可以给出s的表达式solution=solve(eq1,eq2,s);接下来求值首先给变量赋值x=1;t=1;之后运行result=eval(solution);可以求出解。我现在写出的代码可能有错误,不过思路是这样的。我没调试。详细情况可以搜索 matlab 符号运算。

#微积分#非线性#微分#微分方程#matlab积分

随机阅读

qrcode
访问手机版